6751 Commits

Author SHA1 Message Date
Bill Yi
2528fcdfbd Merge commit '26ada7e78993241d702a908eae93d174cbb3c8b3' into HEAD
Change-Id: Ifc45930160cf01ee78ecfbfdc48697055f82e0a7
2016-02-17 11:38:55 -08:00
Zhang Dongsheng
892760008f libhwui: handle eglSwapBuffers with EGL_BAD_NATIVE_WINDOW error case
If eglSwapBuffers is called but the under surface was destroyed,
the EGL_BAD_NATIVE_WINDOW error may also be generated according
to the EGL spec 1.4.

This really shouldn't happen from the upper, but add the graceful
handling of this case also.

Change-Id: Ic0a599808b72f401d2a01c3dc40f9e6ea0e0a564
Signed-off-by: Zhang Dongsheng <dongsheng.zhang@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
2016-02-02 10:39:49 +08:00
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
Matthew Bouyack
099bd9ca8f Merge "In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments." into cw-e-dev am: eebf168e43 am: e0845e8629
am: 6222bb0f6a

* commit '6222bb0f6a772c8fa1dc402740399b0ad1017520':
  In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments.
2016-01-12 22:45:49 +00:00
Matthew Bouyack
7f667e7a08 In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos
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
2016-01-12 12:01:48 -08:00
Nick Kralevich
a87b9287a4 Merge "common_time_server.cpp: more O_CLOEXEC"
am: 78d5f90d98

* commit '78d5f90d98365987937b680862c4d88f3beaa4a3':
  common_time_server.cpp: more O_CLOEXEC
2015-12-19 07:08:22 +00:00
Nick Kralevich
a0468e3361 common_time_server.cpp: more O_CLOEXEC
Change-Id: I2185a462d72e11f5a015c525d2d37c52ecc3e430
2015-12-18 20:47:02 -08:00
John Reck
04ce46db64 Merge "libhwui: make setSurface asynchronous"
am: 738a5d4f18

* commit '738a5d4f18e69c03700b77af0ea7e2a101da2c34':
  libhwui: make setSurface asynchronous
2015-12-16 18:44:57 +00:00
John Reck
738a5d4f18 Merge "libhwui: make setSurface asynchronous" 2015-12-16 18:27:24 +00:00
John Reck
f1df0f59c1 Merge "Fix memory leak in HWUI"
am: 85b010b826

* commit '85b010b826129cd1a2090daa533e843b5573aea4':
  Fix memory leak in HWUI
2015-12-11 12:48:28 -08: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
John Reck
5bb2fdb425 Merge "Fix memory corruption in SpotShadow" am: 8c85c00b5e
am: 8c8353a8c3

* commit '8c8353a8c3152bc3ee4b74815d64c65c2c9d1991':
  Fix memory corruption in SpotShadow
2015-11-11 18:08:15 +00: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
1b85ce17a3 Merge "Fix HWUI Path Cache dangling pointer" am: 37bf3ec9d2
am: 7516d4d866

* commit '7516d4d8667957688433b02b2f4985f1b3ab36ad':
  Fix HWUI Path Cache dangling pointer
2015-11-10 23:31:11 +00: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
Chris Craik
1c3dd0519a Merge "Revert "Remove -ffast-math from libhwui makefile"" into mnc-dr-dev am: 0cf48e9120 am: 17fc83cbde
am: c06ccd77c1

* commit 'c06ccd77c129cdf198c64babdfd8d289aa8ff908':
  Revert "Remove -ffast-math from libhwui makefile"
2015-11-05 20:37:23 +00:00
Tenghui Zhu
dfaf23f846 Merge "When the incoming light source is invalid, don\'t generate any shadow" into mnc-dr-dev am: 76d20b4a5c am: 1c7fbe0efb
am: d829ab7683

* commit 'd829ab76831a0c323f669385c54f666f8a91e4f1':
  When the incoming light source is invalid, don't generate any shadow
2015-11-05 20:27:43 +00:00
Chris Craik
0cf48e9120 Merge "Revert "Remove -ffast-math from libhwui makefile"" into mnc-dr-dev 2015-11-05 20:21:45 +00:00
Tenghui Zhu
76d20b4a5c Merge "When the incoming light source is invalid, don't generate any shadow" into mnc-dr-dev 2015-11-05 20:05:37 +00:00
Chris Craik
e0fa7476a5 Revert "Remove -ffast-math from libhwui makefile"
This reverts commit e02ec7c37a92fd63748a610bac6a23d0409788cf.

Change-Id: Iea7fadf04c4ffa62be28f783342ae749f89bf931
2015-11-05 17:58:28 +00:00
Teng-Hui Zhu
cf22d184a3 When the incoming light source is invalid, don't generate any shadow
b/25417885

Change-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507
2015-11-04 17:04:18 -08:00
Chris Craik
34e9b5b2e4 Merge "Early return when the scale is 0." into mnc-dr-dev am: 10eb6ab94b am: 8b581e2bc7
am: a853bb450c

* commit 'a853bb450ce7e6f06220a86dcc171a837d30511b':
  Early return when the scale is 0.
2015-11-04 19:46:47 +00:00
Chris Craik
289c3ba2c4 Merge "Remove -ffast-math from libhwui makefile" into mnc-dr-dev am: c4aaf0f4b8 am: 62b16e2e10
am: 1938c39f77

* commit '1938c39f77a52c1058e7b2434bdc5d08ed9053b9':
  Remove -ffast-math from libhwui makefile
2015-11-04 19:40:04 +00:00
Chris Craik
10eb6ab94b Merge "Early return when the scale is 0." into mnc-dr-dev 2015-11-04 19:28:39 +00:00
Teng-Hui Zhu
cdce35a7e8 Early return when the scale is 0.
b/24534579

Change-Id: Ib3581ec99387ca70ca036026f64857a49657d94b
(cherry picked from commit 8d0ec389531d071529fb0a800f10733b057205d9)
2015-11-04 18:31:50 +00:00
John Reck
392b0926aa Merge "Revert "Use clang for libhwui"" into mnc-dr-dev am: 1e1fbd804b am: f8635c2e04
am: 26f50df754

* commit '26f50df75477a18e40c6da59a15cc2bd4b441239':
  Revert "Use clang for libhwui"
2015-11-04 18:21:35 +00:00
Chris Craik
e02ec7c37a Remove -ffast-math from libhwui makefile
bug:25417885

Change-Id: I8244bd28c2d46fc449398b9bf5104bf7cbaded8a
2015-11-04 10:14:57 -08:00
John Reck
492a56cc93 Revert "Use clang for libhwui"
Bug 25462107

This reverts commit d354fd2c66855d116440eb4c936317f124241225.

Change-Id: Ib7c50b5becf247f837f3cc20f9128d9411d22563
2015-11-04 15:21:35 +00:00
Tenghui Zhu
0cda530e0e Merge "Use clang for libhwui" into mnc-dr-dev am: 61c93eb16d am: a66dc6e159
am: a32f221db0

* commit 'a32f221db0361c9047fd61373fbf815c37d958f8':
  Use clang for libhwui
2015-11-03 19:55:52 +00:00
Chris Craik
d354fd2c66 Use clang for libhwui
bug:25417885

Change-Id: I0ef8034d79ba3682925e3c2a4b7ccd833fd4f156
2015-11-03 10:34:28 -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 dc06bb0752c1bc3e87b04a097b308bca1bc86181.

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