4901 Commits

Author SHA1 Message Date
Romain Guy
8ce00301a0 Implement clipRect with a transform, clipRegion & clipPath
Bug #7146141

When non-rectangular clipping occurs in a layer the render buffer
used as the stencil buffer is not cached. If this happens on a
View's hardware layer the render buffer will live for as long
as the layer is bound to the view. When a stencil buffer is
required because of a call to Canvas.saveLayer() it will be allocated
on every frame. A future change will address this problem.

If "show GPU overdraw" is enabled, non-rectangular clips are not
supported anymore and we fall back to rectangular clips instead.
This is a limitation imposed by OpenGL ES that cannot be worked
around at this time.

This change also improves the Matrix4 implementation to easily
detect when a rect remains a rect after transform.

Change-Id: I0e69fb901792d38bc0c4ca1bf9fdb02d7db415b9
2013-01-17 15:39:31 -08:00
Romain Guy
616a87736d am 61840eb0: Merge "Preliminary Support for region clipping"
* commit '61840eb03882e1a964ae971725bd21229c3db42c':
  Preliminary Support for region clipping
2013-01-15 10:28:01 -08:00
Romain Guy
735738c4dd Preliminary Support for region clipping
Region clipping, using Canvas.clipPath or Canvas.clipRegion, requires
a stencil buffer to be always present. In addition, extra wiring is
required in JNI and display lists.

This change only adds the necessary JNI/C++ APIs and some extra
plumbing to start the real work on properly supporting region
clipping.

A new debug define called DEBUG_CLIP_REGIONS can be used to draw
the current clip region. It is off by default, as is region
clipping.

The default implementation of clipPath() and clipRegion(), now
in native, mimics the previous Dalvik implementation to prevent
regressions.

Change-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c
2013-01-14 14:27:54 -08:00
Romain Guy
bf06ccba95 am 33a9741c: Merge "Cleanup 9patch mesh matching code Bug #7970966"
* commit '33a9741c1be99e8be01ab799eb50df97849ed801':
  Cleanup 9patch mesh matching code Bug #7970966
2013-01-09 14:43:02 -08:00
Romain Guy
5341cead27 Cleanup 9patch mesh matching code
Bug #7970966

The bug described in #7970966 should normally never happen but just in
case, change the detection code to be more robust.

Change-Id: I7040a6087590e34abe8803cb8f83f051d77f3944
2013-01-09 14:15:58 -08:00
Romain Guy
14c40b4756 Fix build
Change-Id: Ia465bd844b592fc05e59ad392ecc5ca4d34d24d7
2013-01-08 18:03:07 -08:00
Romain Guy
19d4f1806a resolved conflicts for merge of c88c60be to master-chromium
Change-Id: I3b4b42443312068e942aa779dfdc928afa7569fd
2013-01-08 17:38:15 -08:00
Romain Guy
e3a9b24b5e Add plumbing for better text scaling
Fonts are now described by a transform matrix. This lead to switching
from a vector to a hashmap. This change therefore adds new comparators
and hash computations to Font.

Change-Id: I2daffa7d6287c18554c606b8bfa06640d28b4530
2013-01-08 15:21:42 -08:00
Romain Guy
7bac55434c am 9acd1b4f: Merge "Add visual profiling feature"
* commit '9acd1b4fa897f3a007dd23dc1f0471b151fa03ad':
  Add visual profiling feature
2013-01-04 19:29:05 -08:00
Romain Guy
9acd1b4fa8 Merge "Add visual profiling feature" 2013-01-04 19:24:10 -08:00
Romain Guy
672433d90f Add visual profiling feature
When profiling is enabled with debug.hwui.profile set to true,
setting debug.hwui.profile_visualizer to true will display the
profiling data directly on screen.

Change-Id: I3d5fe3f0347090815087b1cbfce66b8e76d9347b
2013-01-04 19:21:54 -08:00
Romain Guy
95bdeddb97 am 48f7cfb1: Merge "Properly support ALPHA_8 bitmaps in all drawBitmap() methods"
* commit '48f7cfb10622f8675741f36bdf5b1f679e3fe37c':
  Properly support ALPHA_8 bitmaps in all drawBitmap() methods
2013-01-04 15:25:00 -08:00
Romain Guy
886b275e52 Properly support ALPHA_8 bitmaps in all drawBitmap() methods
Change-Id: I869993c59e0a0d76f369c09acbae711753908f48
2013-01-04 15:15:16 -08:00
Elliott Hughes
d6f3a50ff8 am 0aa212e3: am a74d1332: am 81cfb63e: am d13b23a4: Merge "Revert "fix potential memory leak""
* commit '0aa212e32ad0ef1333941e2c5228c7528da3c40f':
  Revert "fix potential memory leak"
2013-01-03 18:54:52 -08:00
Elliott Hughes
3cac46d17e am 6bbc79f2: am f18eb323: am 767e1c01: am 9aac0c1b: Merge "fix potential memory leak"
* commit '6bbc79f26ee142daafe7d61973ed476f09307242':
  fix potential memory leak
2013-01-03 18:54:50 -08:00
Elliott Hughes
0aa212e32a am a74d1332: am 81cfb63e: am d13b23a4: Merge "Revert "fix potential memory leak""
* commit 'a74d1332cc9f63dc3187cfa74befb448dab5e77d':
  Revert "fix potential memory leak"
2013-01-03 18:53:06 -08:00
Elliott Hughes
6bbc79f26e am f18eb323: am 767e1c01: am 9aac0c1b: Merge "fix potential memory leak"
* commit 'f18eb323c38cd4407b16dc8eda1cc860bb100850':
  fix potential memory leak
2013-01-03 18:53:02 -08:00
Elliott Hughes
81cfb63e9f am d13b23a4: Merge "Revert "fix potential memory leak""
* commit 'd13b23a436075262cc83f7502f7159de24546003':
  Revert "fix potential memory leak"
2013-01-03 18:47:37 -08:00
Elliott Hughes
767e1c010c am 9aac0c1b: Merge "fix potential memory leak"
* commit '9aac0c1b35ec666a18f320be99e6aa37d0bcf202':
  fix potential memory leak
2013-01-03 18:47:32 -08:00
Elliott Hughes
957efcdc73 Revert "fix potential memory leak"
This reverts commit bc268b9014f211910e412a7fda96b6394ff2badc

Change-Id: I07f49bd0cfecc43bc761d2b0635c9915a8e30272
2013-01-03 17:38:57 -08:00
Sungmin Choi
bc268b9014 fix potential memory leak
use delete before return

Change-Id: I5449ad90bb6910f057bd825b722c9803a7343c34
2013-01-04 09:56:18 +09:00
Romain Guy
e0ece54bd9 am 59131481: Merge "Remove unnecessary & uninitialized variable Bug #7728929"
* commit '5913148104f0b233d861fab2873befc865bf57c0':
  Remove unnecessary & uninitialized variable Bug #7728929
2013-01-03 14:48:35 -08:00
Romain Guy
15a65bfee5 Remove unnecessary & uninitialized variable
Bug #7728929

The uninitialized variable was taken into account to compute
the hash of gradient cache entries, thus causing cache corruptions
and sometimes infinite loops (it would also cause the cache to fill
up.)

Change-Id: Ic807a9bf901888b121a6a781a81dafc33075ed2a
2013-01-03 14:45:39 -08:00
Romain Guy
65dcf5322f am 44080524: Merge "Remove C++11 related warning"
* commit '44080524f083dc00704267a0919016388f0d5426':
  Remove C++11 related warning
2013-01-03 13:13:40 -08:00
Romain Guy
dcfc836b45 Remove C++11 related warning
Change-Id: I250ff7bd0ea49908e11b14c995d77312cd09a8b4
2013-01-03 13:08:57 -08:00
Derek Sollenberger
2fa54cef47 Merge "Update framework to support r5967 of Skia." into master-chromium 2012-12-19 06:18:11 -08:00
Christopher Tate
17697f234f am eea47240: am 4b0ed017: Merge "BackupHelpers: Fix Typo"
* commit 'eea47240b085fa0260011423774506b5375b9351':
  BackupHelpers: Fix Typo
2012-12-17 11:03:45 -08:00
Christopher Tate
eea47240b0 am 4b0ed017: Merge "BackupHelpers: Fix Typo"
* commit '4b0ed0178de2c9c21bd5514671b8b4282f6a03db':
  BackupHelpers: Fix Typo
2012-12-17 11:02:04 -08:00
You Kim
8b2e2c8abc BackupHelpers: Fix Typo
delete --> free

Change-Id: Idbf7e677f8cc4a9a9d04e58b5cf7d0f1589c5211
2012-12-17 03:36:10 +09:00
Fabrice Di Meglio
7345f24ff8 am 5780e196: am 5c0d6f99: am 9de88dad: Merge "Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale" into jb-mr1.1-dev
* commit '5780e196806b3741786b212866435593990f97ee':
  Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale
2012-12-13 12:35:14 -08:00
Fabrice Di Meglio
5780e19680 am 5c0d6f99: am 9de88dad: Merge "Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale" into jb-mr1.1-dev
* commit '5c0d6f9980ed4684cbeefc28036dd9eeac474375':
  Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale
2012-12-13 12:33:35 -08:00
Derek Sollenberger
ca79cf69d0 Update framework to support r5967 of Skia.
bug: 6906025
Change-Id: Iefdb830ec3aa2ab3472c1c142484a7aa21788a15
2012-12-12 15:28:54 -05:00
Fabrice Di Meglio
3509935919 Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale
aapt is not generating the correct CONFIG_LAYOUTDIR bit when a Drawable has a
LTR and RTL version. It was generating instead the wrong CONFIG_SCREEN_LAYOUT bit.

This was linked to the fact that the layout direction bits are contained into the
screen layout bit.

So now make sure that we are generating the correct CONFIG_LAYOUTDIR bit.

Change-Id: If17c84d31e6c128721ed97ee6711660b131bf941
2012-12-12 11:52:03 -08:00
Romain Guy
53018e520d Merge "Apply dev. settings at runtime Bug #7434649" 2012-11-30 17:00:10 -08:00
Romain Guy
5bb3c730f5 Apply dev. settings at runtime
Bug #7434649

Change-Id: I16f00eaa8a5eefd9f9849e196cf2cb1659215390
2012-11-30 16:29:33 -08:00
Romain Guy
69fcbccf47 Fix crash in TextDropShadowCache
The lengths used to copy/read arrays were completely wrong.

Change-Id: If21f23a73cce59bbd32975760e6d728eeeb9e40d
2012-11-30 15:29:15 -08:00
Chris Craik
c4aa38a1e3 am c0da873e: am a9473881: am 2435f98d: Merge "Use the same interrupt/resume logic for all functor calls" into jb-mr1.1-dev
* commit 'c0da873ee25e1e67fd0454ebc2473a5c3cac002c':
  Use the same interrupt/resume logic for all functor calls
2012-11-29 14:32:45 -08:00
Chris Craik
c0da873ee2 am a9473881: am 2435f98d: Merge "Use the same interrupt/resume logic for all functor calls" into jb-mr1.1-dev
* commit 'a9473881eb066b41ea2fb3389b5c0031c2ab4f38':
  Use the same interrupt/resume logic for all functor calls
2012-11-29 14:26:33 -08:00
Romain Guy
b8dca777ca Merge "Use LruCache instead of GenerationCache in libhwui" 2012-11-29 13:58:57 -08:00
Romain Guy
059e12ccd2 Use LruCache instead of GenerationCache in libhwui
Change-Id: Ic26ddc7151eb5462bcd243b21daf7187ed6d3bec
2012-11-29 11:44:02 -08:00
Chet Haase
288f20c603 am 51812754: am 25082e33: Merge "Another optimization of glyph cache uploads"
* commit '518127549997fbf01fd3af59c4312e43f137e194':
  Another optimization of glyph cache uploads
2012-11-28 15:05:03 -08:00
Chris Craik
d15321bbf5 Use the same interrupt/resume logic for all functor calls
bug:7093396

The functor was able to change the renderer's blend mode without it
being restored in process mode. This single path of updating gl caches
reduces likelihood of this occurring in the future.

Change-Id: Ie367532f9c683299f02bc4f635d7cb31f96db39f
2012-11-28 14:45:04 -08:00
Sangkyu Lee
7bb3cfe1cc Another optimization of glyph cache uploads
Previously, cache textures were updated whenever mCurrentCacheTexuture was changed.
Since updating cache textures needs glTexSubImage2D call, frequent changing
of mCurrentCacheTexture (which can easily happen when an app uses lots of unique glyphs
even with precaching) caused many glTexSubImage2D calls and bad framerates.
This patch optimized isssueDrawCommand function. Consequently, changing mCurrentCacheTexture doesn't
cause glTexSubImage2D call any more and it will improve font rendering performance.

Change-Id: Id19d959fa0e69eeb2a39f83a57e311d7394586b2
Signed-off-by: Sangkyu Lee <geteuid@gmail.com>
2012-11-28 09:28:50 +09:00
Kenny Root
9a9f874c15 am e2a2fe4e: am be37b5fa: Merge "Free resources in correct order in ResStringPool::uninit"
* commit 'e2a2fe4ef3695baf3c7dca1637373ebd968a4704':
  Free resources in correct order in ResStringPool::uninit
2012-11-14 10:45:51 -08:00
Kenny Root
be37b5fa24 Merge "Free resources in correct order in ResStringPool::uninit" 2012-11-14 09:33:49 -08:00
Chris Craik
ffa68f04b6 am 7f92d516: am 7494f0c0: am a84c9639: Merge "Avoid tesselation path when useCenter is set" into jb-mr1-dev
* commit '7f92d516a90ec1474d4df798585ac26239aa83fd':
  Avoid tesselation path when useCenter is set
2012-11-01 14:42:08 -07:00
Chris Craik
7f92d516a9 am 7494f0c0: am a84c9639: Merge "Avoid tesselation path when useCenter is set" into jb-mr1-dev
* commit '7494f0c04b1abd010207ee5c7e8c9aff6d69c956':
  Avoid tesselation path when useCenter is set
2012-11-01 14:40:04 -07:00
Chris Craik
7fae5216d2 Avoid tesselation path when useCenter is set
bug:7458300

The tesselation path doesn't handle sharp joins.

Change-Id: I28bf03f3b72fc584a205daa40934dda17031098f
2012-11-01 11:27:03 -07:00
Mike Lockwood
fdf85b6b88 Merge "More changes to fix PDK build:" 2012-10-24 12:34:21 -07:00
Mike Lockwood
c59b2f9a77 More changes to fix PDK build:
move screencap back to frameworks/base
move libdiskusage to frameworks/native

Change-Id: I8abe425c4bbf305bbe8650094c40c16df8c6d5e4
2012-10-24 12:31:10 -07:00