4723 Commits

Author SHA1 Message Date
Romain Guy
43c6eda4d3 am b3778531: Merge "Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254"
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit 'b377853123ff53974bb06ffc30e09db41a767c3a':
  Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254
2013-02-04 14:00:44 -08:00
Romain Guy
b377853123 Merge "Set the scissor from OpenGLRenderer::drawColorRects Bug #8131254" 2013-02-04 21:56:40 +00:00
Romain Guy
a362c69d6c Set the scissor from OpenGLRenderer::drawColorRects
Bug #8131254

This method is used as an optimization for paths containing only
non-overlapping rectangles. The implementation was correctly
rejecting rectangles invidually but not the bounds of the array
of rectangles. If quickReject() is not called, setupDraw() won't
be able to properly set the scissor.

Change-Id: I50aa11a4bd8b525b267d36a3039fe7a6fba50518
2013-02-04 13:50:16 -08:00
Chris Craik
d4cf7df151 am e51ccb15: Merge "Simplify display list logging, removing pointers"
# Via Android (Google) Code Review (1) and Chris Craik (1)
* commit 'e51ccb1543ef5b6427e5f270ae38be75e18daccd':
  Simplify display list logging, removing pointers
2013-02-04 13:48:48 -08:00
Chris Craik
e51ccb1543 Merge "Simplify display list logging, removing pointers" 2013-02-04 21:44:48 +00:00
Chris Craik
3dc553babe Simplify display list logging, removing pointers
Also fix save indents

Change-Id: Ia1add83422fbc200b85fd6688f5be60292b0f178
2013-02-04 12:45:13 -08:00
Michael Wright
974fb7a5e9 am 3e295c3f: Merge "Add initial plumbing for brightness keys"
# Via Android (Google) Code Review (1) and Michael Wright (1)
* commit '3e295c3f2ec931ad9f7e38c6a083d711ab710717':
  Add initial plumbing for brightness keys
2013-02-01 16:55:31 -08:00
Michael Wright
1df477acf6 Add initial plumbing for brightness keys
Change-Id: I595e8a25e6c245e4b22f06df9a8acdbb75e4b041
2013-02-01 16:29:59 -08:00
Romain Guy
da805b149f am c5801680: Merge "Tag HardwareRenderers with a name to help debugging"
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit 'c580168011334db756f5e68aa005d20bace69171':
  Tag HardwareRenderers with a name to help debugging
2013-01-31 23:06:13 -08:00
Romain Guy
b86e75ea85 am b7475e7b: Merge "Fix tiling on QCOM GPU"
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit 'b7475e7b0b0ababe8c5f3fbfde565c97960c633c':
  Fix tiling on QCOM GPU
2013-01-31 22:59:17 -08:00
Romain Guy
5019546c8c am 65f4effc: Merge "Discard the correct buffer when the bound FBO is not 0"
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit '65f4effcab1f4bb6e2e96a2b8eb2c774601b87db':
  Discard the correct buffer when the bound FBO is not 0
2013-01-31 22:59:12 -08:00
Romain Guy
ef35927abc Tag HardwareRenderers with a name to help debugging
The name of the renderer is the same as the window it belongs to.

Change-Id: Ie9adc0a1978afa026923ea41f5540eda6ba65a92
2013-01-31 19:07:29 -08:00
Romain Guy
f735c8e5cb Fix tiling on QCOM GPU
Rename Caches::startTiling parameter from opaque to discard to
make it clearer what its role is. Tweak calls to startTiling
to preserve the buffer when needed and discard it when possible.

Change-Id: If7f8ff19003f79f36885a0a7207cc61901f637d2
2013-01-31 17:45:55 -08:00
Romain Guy
f158198ccc Discard the correct buffer when the bound FBO is not 0
glDiscardFramebufferEXT uses different constants depending on whether
the default FBO is bound or not. The code was choosing the proper value
for the color buffer but not for the stencil buffer.

Change-Id: I55cfcbdf663582119cb1a6289317016440d9e361
2013-01-31 17:20:30 -08:00
Derek Sollenberger
2dbd185fd0 resolved conflicts for merge of c93c6aa5 to master-chromium
Change-Id: I51429ed5359355025f873ccab11bfabbbe772a46
2013-01-30 14:32:29 -05:00
Chris Craik
c93c6aa555 Merge "Object-based DisplayList recording" 2013-01-30 18:42:56 +00:00
Romain Guy
781fd2b7c8 am f5f85022: Merge "Fix graphical corruption on QCOM GPU Bug #7146141"
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit 'f5f8502271b04d63c518e3aecfd5eaf557904e72':
  Fix graphical corruption on QCOM GPU Bug #7146141
2013-01-29 17:50:58 -08:00
Romain Guy
c3fedafc5f Fix graphical corruption on QCOM GPU
Bug #7146141

The GL_QCOM_tiled_rendering extension requires careful use of
start/endTiling when attaching a renderbuffer dynamically.

Change-Id: I20036683ed3909ffaf40cc3d57a25257e35b6fa2
2013-01-29 17:46:17 -08:00
Chris Craik
2af4635e4a Object-based DisplayList recording
bug:8037003

Changes the DisplayList from using stream read/write commands to use an array of
objects manually allocated on a linear buffer.

Depends on frameworks/native change https://googleplex-android-review.googlesource.com/#/c/257695/ which adds LinearAllocator

Also changes drawRects to use float count instead of rect count, to be more like drawLines/drawPoints

Change-Id: Ia2e4a11acd8f0a757042a05cbc9e7563cb73ee47
2013-01-22 13:47:03 -08:00
Romain Guy
7d4f807b83 am 49464796: Merge "Allow layers with a stencil buffer to be resized on the fly Bug #7146141"
* commit '494647961feb21d925d5e6e5ce1d42aa8b6949db':
  Allow layers with a stencil buffer to be resized on the fly Bug #7146141
2013-01-18 17:08:12 -08:00
Romain Guy
2055abaa0a Allow layers with a stencil buffer to be resized on the fly
Bug #7146141

This change moves the resizeLayer() from LayerCache (where it should
never have been anyway) to Layer. This makes a little more sense.

Change-Id: I8b2f9c19c558e738405a58b9e71ec5799fc6be88
2013-01-18 16:42:51 -08:00
Romain Guy
e9a983b444 am b12db26f: Merge "Implement clipRect with a transform, clipRegion & clipPath Bug #7146141"
* commit 'b12db26fec178794915d819c3dd64f13d788c461':
  Implement clipRect with a transform, clipRegion & clipPath Bug #7146141
2013-01-17 15:50:17 -08:00
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