6969 Commits

Author SHA1 Message Date
Chris Craik
76ace115f7 Add FatVector
FatVector uses an inlined allocation to avoid malloc costs for small
vectors, especially those which are constructed/destructed frequently.

Change-Id: I9809dfd1255cfe98b4ce2b1124ca0fd6ca33dfe0
2015-10-29 13:22:06 -07:00
Chris Craik
263e19bf46 Merge "Simplify TreeInfo" 2015-10-29 19:49:22 +00:00
Robert Carr
b6c2624c8d Add window setDecorView API.
Add a Window API for setting a view which will be placed in
the decoration area (next to the window control buttons).

Change-Id: Ie106cbea653ff95fdba987a2a43506d394600612
2015-10-29 12:31:47 -07:00
Leon Scroggins III
f35b989d26 Merge six commits from master-skia to master
Also corrects some code under development behind the HWUI_NEW_OPS flags
to match the updated Skia API.

Include external/skia/include/private
use SrcConstraint for drawBitmapRect
clean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS
don't call DEPRECATED getDevice()
update to newer API for drawBitmapRect
asABitmap is deprecated, used isABitmap

previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e
previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56
previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab
previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b
previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec
previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec
previous-Change-Id: I85de3462ad1e4877784df38edc4bcd0acbd24e5e
Change-Id: Ide8e2f669e91a13c32521af3a16efdaa085c81d0
2015-10-29 12:29:03 -04:00
Chris Craik
e2e53a7079 Simplify TreeInfo
Change-Id: I8f05e9046236d607016b6c2bb77a333cfb47ba47
2015-10-28 15:55:40 -07:00
Tom Hudson
1de39f1563 Merge "Revert "Merge six commits from master-skia to master"" 2015-10-28 20:48:05 +00:00
Tom Hudson
d8f904f256 Revert "Merge six commits from master-skia to master"
This reverts commit 550780745fa28ae9a87d02331841ca5ce4f9c763.

Change-Id: Ic71eccea454b26261fe6e9a9a7a24eff56396989
2015-10-28 20:35:36 +00:00
John Reck
97c92659fa Merge "Tune scheduling a bit, avoid a binder ipc" 2015-10-28 19:24:45 +00:00
John Reck
e486d932ca Tune scheduling a bit, avoid a binder ipc
Don't query running behind if it's not possible to be behind such
as having received a vsync since the last call to swap buffers.

This also avoids an accidental-starvation issue where if surface
flinger was a bit sluggish to dequeue then renderthread would drop
thinking the queue was full.

Also be a bit smarter about tracking if we've already drawn for this
vsync target to avoid producing two frames for the same vsync

Change-Id: Ib266500a693c27000b2e8ea578f111229d75147a
2015-10-28 12:24:13 -07:00
John Reck
3398abb25b Merge "Cleanups" 2015-10-28 19:21:17 +00:00
John Reck
9f091287b1 Merge "Free DisplayListData for Views with GONE parents" 2015-10-28 19:20:49 +00:00
John Reck
9dea0d53f5 Free DisplayListData for Views with GONE parents
Bug: 22565656
Change-Id: I06060e6ae473482ec79feb891f9123c85706237f
2015-10-28 12:20:20 -07:00
Tom Hudson
37028137f2 Merge "Merge six commits from master-skia to master" 2015-10-28 17:56:10 +00:00
Leon Scroggins III
550780745f Merge six commits from master-skia to master
Include external/skia/include/private
use SrcConstraint for drawBitmapRect
clean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS
don't call DEPRECATED getDevice()
update to newer API for drawBitmapRect
asABitmap is deprecated, used isABitmap

Change-Id: I519f54f97321a7a365ea81a3b78cb03b9bdca021
previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e
previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56
previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab
previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b
previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec
previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec
2015-10-28 13:41:38 -04:00
Chris Craik
5854b34881 Rework receiver/dispatcher design slightly, and replace Layer usage.
Switched from 'renderer/info' to 'dispatcher/renderer' to make their
interaction more natural. The new BakedOpRenderer is more similar in
responsibilities to the OpenGLRenderer, as it manages layer and frame
lifecycles, and performs the actual rendering.

However, it's still simpler because the BakedOpDispatcher handles
mapping Canvas drawing ops to Glops, and the OpReorderer handles almost
all canvas state operations.

Also switch BakedOpRenderer to use the new OffscreenBuffer, which
serves as a lightweight Layer replacement, with a much simpler
lifecycle.

Change-Id: Ie0e2e248503400041d49729d813d485d28c76eb3
2015-10-27 16:44:50 -07:00
John Reck
77c40109cf Cleanups
Change-Id: I10001711afb2530c5dc19aebf2d055ae41f58c6a
2015-10-27 07:54:17 -07:00
Chris Craik
ac7062e7f1 Merge "Initial version of clipped saveLayer in new pipeline" 2015-10-26 23:12:46 +00:00
Chris Craik
818c9fbf1d Initial version of clipped saveLayer in new pipeline
Additionally disables usage of FBO cache, so FBO destruction safely
interacts with renderstate caching.

Change-Id: I25c277cb7afec2ca33bf226445d6c8867a15a915
2015-10-26 15:51:48 -07:00
John Reck
1e4313dfd0 Merge "eglSwapBuffers can also return EGL_BAD_NATIVE_WINDOW" 2015-10-26 21:32:52 +00:00
John Reck
c2547fa6f9 eglSwapBuffers can also return EGL_BAD_NATIVE_WINDOW
Bug: 25017107
Change-Id: I545a746ba89d577de5769bc3e7dd335a100638c0
2015-10-26 13:52:52 -07:00
John Reck
9564ff0baf cleanup
Change-Id: I3b64e0af45f778c7d030c3c1a38c2103f91a4223
2015-10-26 09:55:00 -07:00
John Reck
7bd3721bc6 Merge "Add ShadowBench" 2015-10-23 15:19:47 +00:00
Tom Hudson
64bb63f0ee Merge "Remove direct dependency of external/skia on frameworks/native" 2015-10-23 14:17:11 +00:00
Tom Hudson
b2f5bd2d60 Remove direct dependency of external/skia on frameworks/native
Moves all code that needs to link with libgui or libui into
frameworks/native/hwui/utils/TestWindowContext. This allows us to
run Skia automated tests against a HWUI backend to watch for
performance or correctness regressions on Android.

BUG=23556017
TEST=After this change, we can remove libui and frameworks/native/include
from external/skia/Android.mk
R=djsollen@google.com

Change-Id: I6f02a5ff98101e448606a1e892686e2c648b6c8a
2015-10-23 10:07:03 -04:00
Andreas Gampe
342b89e2da Merge "Revert "libs: add libpackagelistparser"" am: e3da6ba5dd am: 314e1e00d8
am: b61fd4fae2

* commit 'b61fd4fae2cefc441a75f7b695e671e84570006f':
  Revert "libs: add libpackagelistparser"
2015-10-23 04:30:35 +00: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
John Reck
82f5e0c5cd Add ShadowBench
Drop -O3 & -ffast-math as they don't
help on clang and just hit SIGBUS issues

Change-Id: I8e9a8f4cd9ddf136103a6b7f69902e9f3a730c57
2015-10-22 17:13:07 -07:00
Daniel Cashman
4c6b40ec81 Merge "libs: add libpackagelistparser" am: cc7373eafd am: 188e8875db
am: a2dbc1cea3

* commit 'a2dbc1cea3c60510f27bfeb39012ae2c2796503c':
  libs: add libpackagelistparser
2015-10-22 23:47:40 +00:00
Daniel Cashman
188e8875db Merge "libs: add libpackagelistparser"
am: cc7373eafd

* commit 'cc7373eafd0d5be7df8898748a700b47298ebf10':
  libs: add libpackagelistparser
2015-10-22 23:12:49 +00:00
John Reck
0cc90c36f3 Merge "Add assert for required EGL extensions" 2015-10-22 20:27:36 +00:00
John Reck
708b6687da Add assert for required EGL extensions
Bug: 25149700

Change-Id: I535ead7c1f8ba8766dff85fcf26a9cfe76647fb8
2015-10-22 13:18:37 -07:00
Chris Craik
914e362d18 Merge "Work to support saveLayer in new pipeline" 2015-10-22 17:16:55 +00:00
John Reck
c6e7167a93 Merge "Remove obsolete debug option" 2015-10-22 17:05:37 +00:00
John Reck
a672f6ba4c Remove obsolete debug option
Bug: 25149700
Change-Id: I9280e2414255fb01e672094cd8d173efadac1681
2015-10-22 09:53:26 -07:00
Chris Craik
6fe991e5e7 Work to support saveLayer in new pipeline
clipped SaveLayers will now be pulled to the beginning of the frame,
prior to drawing FBO 0. This will remove the need for switching FBOs
mid-frame.

Change-Id: I4d8dc1f845e84e9b49d5acdf4f4703eef4a9cb06
2015-10-21 18:19:37 -07:00
Jun Mukai
5ec7420ecd Use invisible icon for POINTER_ICON_STYLE_NULL.
Change-Id: I10d35bdc4da4817d769eb164e6f15e4618670a05
2015-10-21 13:03:01 -07:00
Chris Craik
0a24b146cd Add initial OpReorderer benchmarks
Change-Id: I6ca8ea89be2159331b2ad7031769c65f54161918
2015-10-20 17:19:33 -07:00
Chris Craik
ec3d759a34 Merge "Use null GL for unit tests/microbench" 2015-10-19 22:59:23 +00:00
Chris Craik
5fbd9db67a Use null GL for unit tests/microbench
Change-Id: Ie6234f03d8561b71fc2ebd149ddd7334f275d7c5
2015-10-19 15:52:28 -07:00
Chris Craik
b36af87f82 Use LinearStdAllocator in DisplayList
bug:24300128

This removes most of the remaining calls to malloc when
recording DisplayLists.

Change-Id: If928bd53dac0f145aadc436a62759086b67da0ed
2015-10-19 11:32:28 -07:00
Chris Craik
003cc3dec8 Rename DisplayListData to DisplayList
Change-Id: I25f6bb88ffdf9baf7e8e4e2a294aa8c9d2a4605b
2015-10-16 10:38:34 -07:00
Chris Craik
81a1d2a159 Add LinearStdAllocator
Also fixes microbench DisplayListData leak.

Change-Id: I1c46f6d0d38650327f3df90e7b278fa7765083dc
2015-10-15 17:14:45 -07:00
Chris Craik
10ed692118 Use typedefs to differentiate between flavors of DisplayLists
Change-Id: Id3b0a5aa045f2343fb046ca0889b375a7d00e03f
2015-10-15 10:55:15 -07:00
Chris Craik
ddf2215d98 Add partial damage support to new draw path
Change-Id: I612578fd181240de71297c9a28bc9a8f350764a7
2015-10-15 09:38:15 -07:00
Jun Mukai
1db5397d88 Allow changing mouse pointer icon for the current context.
Right now, it only supports I-beam on EditText, but further
rules will come in the future.

The png files for the icons are from chromium.

Bug: 24180385
Change-Id: I8de4ec8a5412b4830c08aa232c5083841c5c751c
2015-10-15 01:47:29 -07: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
Chris Craik
b565df13a9 Initial commit of new Canvas operation recording / replay
Done:
- drawRect, drawBitmap, drawColor, drawPaint, drawRenderNode, drawRegion
- Recording with new DisplayList format
- batching & reordering
- Stateless op reorder
- Stateless op rendering
- Frame lifecycle (clear, geterror, cleanup)

Not done:
- SaveLayer (clipped and unclipped)
- HW layers
- Complex clipping
- Ripple projection
- Z reordering
- Z shadows
- onDefer prefetching (text + task kickoff)
- round rect clip
- linear allocation for std collections
- AssetAtlas support

Change-Id: Iaf98c1a3aeab5fa47cc8f9c6d964420abc0e7691
2015-10-14 16:10:40 -07:00
John Reck
4a4bc892e8 Microbench hackery
Change-Id: I35428350e16982824bb4e8a0015a4cb98b1c0799
2015-10-12 15:45:01 -07:00
John Reck
e702c9cd6a Shove the tests into a different file
Also add descriptions because those are nice

Change-Id: I2d0480acf17af2700c8b7fb7228203e16a068f6b
2015-10-07 12:57:20 -07:00