Commit Graph

6727 Commits

Author SHA1 Message Date
Dohyun Lee
c5a3efd286 libhwui: fix texture memory leak
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>
2016-01-21 13:46:21 +09:00
Thomas Buhot
c0a0e1a66d 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>
2016-01-19 15:00:42 +08:00
Nick Kralevich
a0468e3361 common_time_server.cpp: more O_CLOEXEC
Change-Id: I2185a462d72e11f5a015c525d2d37c52ecc3e430
2015-12-18 20:47:02 -08:00
John Reck
738a5d4f18 Merge "libhwui: make setSurface asynchronous" 2015-12-16 18:27:24 +00:00
Sangkyu Lee
441cc421b5 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.

Change-Id: If65f74085b1fc2be3a9fffc433326e0bcdb40ff3
2015-12-11 16:05:10 +09:00
Thomas Buhot
0bcd0cb6b1 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>
2015-12-10 14:51:58 +08:00
Keith Mok
a1f5631340 Fix memory corruption in SpotShadow
The array list is too small and causing stack corruption

Change-Id: I0e34dad39357fb63977d2ce6f183ced7b6a632be
2015-11-11 08:49:20 -08:00
John Reck
37bf3ec9d2 Merge "Fix HWUI Path Cache dangling pointer" 2015-11-10 23:20:03 +00:00
Digish Pandya
2e4f67c388 Fix HWUI Path Cache dangling pointer
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
2015-11-09 14:22:25 +05:30
Teng-Hui Zhu
83ea5b7b22 When the incoming light source is invalid, don't generate any shadow
b/25417885

Change-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507
2015-11-05 15:48:35 -08:00
Andreas Gampe
314e1e00d8 Merge "Revert "libs: add libpackagelistparser""
am: e3da6ba5dd

* commit 'e3da6ba5dd29002789a76dafdc14987c51d92ea5':
  Revert "libs: add libpackagelistparser"
2015-10-23 04:16:20 +00:00
Andreas Gampe
ce969123b1 Revert "libs: add libpackagelistparser"
This reverts commit dc06bb0752.

This should go into system/core.

Change-Id: Idf304ac5ccd4bcc86722f65688e3ee6284452287
2015-10-22 19:50:09 -07:00
Daniel Cashman
188e8875db Merge "libs: add libpackagelistparser"
am: cc7373eafd

* commit 'cc7373eafd0d5be7df8898748a700b47298ebf10':
  libs: add libpackagelistparser
2015-10-22 23:12:49 +00:00
William Roberts
dc06bb0752 libs: add libpackagelistparser
There are 4 components that all implement package parsing, they are:
1. sdcardd
2. libselinux
3. logd
4. runas

Create a library that can be used by all of them, and new ones as needed.

Change-Id: I87a406802f95d8e7bfd8ee85f723f80e9e6b6c0c
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2015-10-14 16:38:03 -07:00
Stephen Hines
697e3dd6b9 am ee144b1e: resolved conflicts for bd57dac5 to stage-aosp-master
* commit 'ee144b1e60a88e8f097113e046813f0b61c38b9b':
  Don't unregister Fonts from renderer at destruction
2015-10-03 00:46:17 +00:00
Stephen Hines
ee144b1e60 resolved conflicts for bd57dac5 to stage-aosp-master
Change-Id: I5107af13712d7cc908d8699e5c15a002f0a3ec85
2015-10-02 17:34:05 -07:00
Chris Craik
bd57dac5d5 Merge "Don't unregister Fonts from renderer at destruction" 2015-10-02 22:30:09 +00:00
Chris Craik
148c78f825 Don't unregister Fonts from renderer at destruction
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
2015-10-02 14:21:46 -07:00
Sergio Giro
31e5ded687 am 6706b71d: am 86e67d70: Merge "frameworks/base: delete TinyHashMap"
* commit '6706b71d7cfb9a916fd482189c04a0d59c19c103':
  frameworks/base: delete TinyHashMap
2015-10-01 10:22:39 +00:00
Sergio Giro
6706b71d7c am 86e67d70: Merge "frameworks/base: delete TinyHashMap"
* commit '86e67d708d738807c843850a3b6c9170e514ff8f':
  frameworks/base: delete TinyHashMap
2015-10-01 10:16:44 +00:00
Sene Gales
1673035f05 frameworks/base: delete TinyHashMap
In DeferredDisplayList use std::unordered_map instead of TinyHashMap

Towards deprecation of BasicHashTable

Change-Id: I91b8d5dc80444c88fecff9c362fa610cca253973
2015-09-30 20:37:01 +01:00
Dan Willemsen
83533a235c am 13786e28: am 60dd5d59: Merge "Remove USE_MINGW, whitelist windows modules"
* commit '13786e281e4d67b9e2ff549fee34ddb3e82e0325':
  Remove USE_MINGW, whitelist windows modules
2015-09-01 16:51:05 +00:00
Dan Willemsen
13786e281e am 60dd5d59: Merge "Remove USE_MINGW, whitelist windows modules"
* commit '60dd5d5966ebe993f5a81c46d9dea62c207abfd3':
  Remove USE_MINGW, whitelist windows modules
2015-09-01 16:37:10 +00:00
Dan Willemsen
4aa679ff96 Remove USE_MINGW, whitelist windows modules
Bug: 23566667
Change-Id: Ie6b8c51e2b6d6273f99f4e361c440136d7c6915c
2015-08-28 15:28:26 -07:00
Chris Craik
7da9d7fae6 am 9c45aa8f: am ca3c865d: am 892768fb: am 0b804542: Merge "Constrain drawBitmap matrix-to-rect optimization" into mnc-dev
* commit '9c45aa8f0db8e3c5370172018e162b7ecaf9ea4a':
  Constrain drawBitmap matrix-to-rect optimization
2015-08-19 01:43:41 +00:00
Chris Craik
fc7f6197cb am 0b804542: Merge "Constrain drawBitmap matrix-to-rect optimization" into mnc-dev
* commit '0b8045425ff58f992046ff2be35bc91001dabf7b':
  Constrain drawBitmap matrix-to-rect optimization
2015-08-19 01:41:25 +00:00
Chris Craik
892768fb3e am 0b804542: Merge "Constrain drawBitmap matrix-to-rect optimization" into mnc-dev
* commit '0b8045425ff58f992046ff2be35bc91001dabf7b':
  Constrain drawBitmap matrix-to-rect optimization
2015-08-19 00:54:00 +00:00
Chris Craik
e688bf7203 Constrain drawBitmap matrix-to-rect optimization
bug:22962165

Optimization is not valid if matrix would flip image.

Change-Id: Ieee42390517bd3466b7d94596f0fbbe192ab757e
2015-08-18 14:53:47 -07:00
Chris Craik
e3f0a881c2 Merge "Make the value for shadowRadius less than 1.0 work" 2015-08-14 22:02:19 +00:00
Dan Albert
598319d017 am 16e5aba9: am 4a2a890b: Merge "Fix mismatched new[]/delete."
* commit '16e5aba9c8157b3ffdcdceda378896a43f074748':
  Fix mismatched new[]/delete.
2015-08-14 21:43:19 +00:00
Dan Albert
f13f1efab2 am 16e5aba9: am 4a2a890b: Merge "Fix mismatched new[]/delete."
* commit '16e5aba9c8157b3ffdcdceda378896a43f074748':
  Fix mismatched new[]/delete.
2015-08-14 21:43:16 +00:00
Dan Albert
8dc8313c3e Fix mismatched new[]/delete.
The new clang will emit a warning for this.

Change-Id: Ie0edc46461eb5edb2a7ad33a3a7f6cef2d825c36
2015-08-14 14:12:29 -07:00
Andreas Gampe
ea30eb29f8 Hwui: Remove unused variables
For build-system CFLAGS clean-up, remove unused variables.

Bug: 18632512

(cherry picked from commit cb4af9b10a)

Change-Id: Ic58bedc84234325512193991fc64315e3aad6f9e
2015-08-12 18:05:35 -07:00
Andreas Gampe
3255e2f961 Merge "Hwui: Remove unused variables" into mnc-dev-plus-aosp 2015-08-12 23:31:25 +00:00
Andreas Gampe
fea85a33b7 Hwui: Remove unused variables
For build-system CFLAGS clean-up, remove unused variables.

Bug: 18632512

(cherry picked from commit cb4af9b10a)

Change-Id: Ic58bedc84234325512193991fc64315e3aad6f9e
2015-08-12 16:30:32 -07:00
Elliott Hughes
344d347af2 am 39669d7f: am 6fdc6333: Merge "Lose HAVE_ANDROID_OS from frameworks/base."
* commit '39669d7f6b8fedef3468ab3d417c93a21df528af':
  Lose HAVE_ANDROID_OS from frameworks/base.
2015-08-12 23:28:30 +00:00
Elliott Hughes
17b4be07fe am 39669d7f: am 6fdc6333: Merge "Lose HAVE_ANDROID_OS from frameworks/base."
* commit '39669d7f6b8fedef3468ab3d417c93a21df528af':
  Lose HAVE_ANDROID_OS from frameworks/base.
2015-08-12 23:21:56 +00:00
Elliott Hughes
ba3fe56edc Lose HAVE_ANDROID_OS from frameworks/base.
Change-Id: I713881fdbaec7cbbb5e7f2f4be6f9b8be3d2ca4e
2015-08-12 14:49:53 -07:00
Yusuke Sato
3a4d02220f am 61234dea: am bd4c482b: Merge "Clean up AssetManager::scanAndMergeZipLocked"
* commit '61234deafe78ded05569edfab24536cdb4bd7720':
  Clean up AssetManager::scanAndMergeZipLocked
2015-08-06 01:40:24 +00:00
Yusuke Sato
e15a5871bd am 61234dea: am bd4c482b: Merge "Clean up AssetManager::scanAndMergeZipLocked"
* commit '61234deafe78ded05569edfab24536cdb4bd7720':
  Clean up AssetManager::scanAndMergeZipLocked
2015-08-06 01:39:44 +00:00
Yusuke Sato
bd4c482be9 Merge "Clean up AssetManager::scanAndMergeZipLocked" 2015-08-05 22:15:50 +00:00
Yusuke Sato
c1efd41f3f Fix build breakage caused by I5ebe0438019958d883a7fda6bd92ea4484211d23 (AOSP)
Change-Id: Icea0ac00c56b5c8aa21134fc49b518cda4759e36
2015-08-05 14:41:52 -07:00
Yusuke Sato
ead2088efe Fix build breakage caused by r.android.com/162907
Change-Id: Ifeb7b57ce79f3d8c0edadf03d14853e72840d49e
2015-08-05 13:14:53 -07:00
Yusuke Sato
3251f2aab7 am 3383b141: am a024acb8: Merge "Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files"
* commit '3383b141c3ac4426279e649ebcee535890203c3f':
  Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files
2015-08-05 19:09:41 +00:00
Yusuke Sato
eb24da62ac am 3383b141: am a024acb8: Merge "Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files"
* commit '3383b141c3ac4426279e649ebcee535890203c3f':
  Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files
2015-08-05 19:05:17 +00:00
Yusuke Sato
a024acb8ba Merge "Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files" 2015-08-05 17:46:18 +00:00
John Reck
17dafd6033 am 906c8dea: am bc04d3ac: Merge "animateNoDamage failed to remove from current frame list"
* commit '906c8dea2ec6ae404ae6d7870c0a0cb2289f3d04':
  animateNoDamage failed to remove from current frame list
2015-08-04 21:14:45 +00:00
John Reck
d56554e82b am 906c8dea: am bc04d3ac: Merge "animateNoDamage failed to remove from current frame list"
* commit '906c8dea2ec6ae404ae6d7870c0a0cb2289f3d04':
  animateNoDamage failed to remove from current frame list
2015-08-04 21:13:23 +00:00
John Reck
666f319443 am 2fa3eec0: am 93c14069: Merge "hwui: add extension to support unpack operations in OpenGL ES 2.0"
* commit '2fa3eec0e1807f6a45b71a41624698e8cc949026':
  hwui: add extension to support unpack operations in OpenGL ES 2.0
2015-08-04 20:53:55 +00:00
John Reck
bc04d3acba Merge "animateNoDamage failed to remove from current frame list" 2015-08-04 20:52:40 +00:00