Commit Graph

10463 Commits

Author SHA1 Message Date
Nathaniel Nifong
3af61ed71e Merge "Introduce multi-frame SKP capturing in SkiaPipeline" 2019-07-08 13:49:40 +00:00
Fedor Kudasov
996dd9cbec Merge "Add more useful source files" 2019-07-03 18:20:30 +00:00
Nathaniel Nifong
d2e49a29bb Introduce multi-frame SKP capturing in SkiaPipeline
Capture script usage is the same as before, but all frames are combined
into a single file which shares the images between frames, reducing the
file size and serialization time somewhat. This brings us closer to the
objective of realistic performance measurements, but to do that
correctly, a second format is needed, (skbug.com/9174)

Single frame captures still produce the same format.

Test: The method used for serialization is tested in skia's DM unit
tests, in MultiSkpTest.cpp
Test: Tested manually with the libs/hwui/tests/scripts/skp-capture.sh script
Bug: skbug.com/9210
Change-Id: I69da8d191640ebb444991f107d60389f1519a9db
2019-07-03 13:53:24 -04:00
Fedor Kudasov
666f8a5101 Add more useful source files
Bug: 117921091
Test: all tests should pass
Change-Id: I2a7f53f985c060967e9eb3364b7f73b073eab1f9
2019-07-03 14:25:15 +00:00
Fedor Kudasov
bc409cf190 Rearrange some headers
Bug: 117921091
Test: all tests should pass
Change-Id: I6ee108df6ec1de8deabfb5ec6b0e8b6e76a940b1
2019-07-03 13:01:40 +00:00
Ryan Mitchell
913c8074a7 Merge "Set idmap2 binary uid and gid after forking" into qt-dev am: ebad9125c8 am: e9acb9c566
am: 18e2a06453

Change-Id: I0bf570d5c4198f3ff9e5c4c62c8b88bc48db7ec6
2019-07-02 12:28:17 -07:00
Ryan Mitchell
18e2a06453 Merge "Set idmap2 binary uid and gid after forking" into qt-dev am: ebad9125c8
am: e9acb9c566

Change-Id: I30d650e7d5548f6e53f37c22f62e4de244145bdc
2019-07-02 11:53:41 -07:00
Ryan Mitchell
e9acb9c566 Merge "Set idmap2 binary uid and gid after forking" into qt-dev
am: ebad9125c8

Change-Id: I13b16878cad1cb742c0b417fa09ec406e8f1bf2d
2019-07-02 10:52:24 -07:00
Fedor Kudasov
0126507661 Merge "Split out RootRenderNode" 2019-07-02 09:51:55 +00:00
Ryan Mitchell
a8f13667c2 Set idmap2 binary uid and gid after forking
The file permissions of the idmap2 binary are currently not set
correctly when the system forks and execs the idmap binary during
zygote. This chnages sets the uid and gid after forking to the same uid
and gid of the parent process.

Bug: 134897503
Test: device boots and generates idmap
Change-Id: Ic7fac49e5982f3c47713603b905c3a6be117a05b
2019-07-01 21:19:21 +00:00
John Reck
5e56d3f12b Merge "Switch to import for CtsUiRenderingTestCases" 2019-07-01 15:59:33 +00:00
Fedor Kudasov
34a2576340 Split out RootRenderNode
- Deleted unused OnFinishedEvent, InvokeAnimationListeners
- Hid FinishAndInvokeListener and AnimationContextBridge in the
implmentation

Bug: 117921091
Test: all tests should pass
Change-Id: I98af836b27d06907a24696fcae03f24808c1993a
2019-07-01 09:59:48 +00:00
TreeHugger Robot
6677d802e8 Merge "HWUI-VK: Use auto prerotation for Vulkan backend" 2019-06-28 18:08:58 +00:00
Fedor Kudasov
8fe7767d0d Merge "Remove unused (mostly GL-related) headers" 2019-06-28 10:01:21 +00:00
Yiwei Zhang
dab6ecd6ce HWUI-VK: Use auto prerotation for Vulkan backend
The consumer driven resizing now works as below:
1. Query the cached transform hint for this draw cycle
2. dequeuBuffer first to get the actual size
3. Cancel the pre-rotation done on the buffer
4. Update logical window size according to the transform

Bug: 136110987
Test: manually test split screen with resizing and rotation
Test: CtsUiRenderingTestCases and CtsGraphicsTestCases
Change-Id: Ia7f1a53fd761b90cb3ff429086a060d48e40919c
2019-06-27 15:19:45 -07:00
John Reck
db7d1df4fc Switch to import for CtsUiRenderingTestCases
Centralizes option management

Test: this
Change-Id: I80bcaec765e1ed2bf0bdbe370548157690367ec6
2019-06-27 10:32:27 -07:00
TreeHugger Robot
d8edd0dedc Merge "HWUI-VK: connect and set native window before any queries" 2019-06-27 17:22:14 +00:00
Fedor Kudasov
6bdd90f70d Remove unused (mostly GL-related) headers
Bug: 117921091
Test: all tests should pass
Change-Id: I419aafd30bfc19f2180eedf924bbd55d5cd36170
2019-06-27 17:11:37 +00:00
Fedor Kudasov
4cb04496df Merge "Enable RenderNode and RecordingCanvas for layoutlib" 2019-06-27 05:48:21 +00:00
Yiwei Zhang
68daf67e66 HWUI-VK: connect and set native window before any queries
Since Vulkan WSI has been removed from HWUI Vulkan backend, upon VulkanSurface
creation, we should connect to native window first.

Bug: 136110987
Test: CtsUiRenderingTestCases and CtsGraphicsTestCases
Change-Id: I005a8bf22cce0364f240e09fceeb275a6f36aa77
2019-06-26 22:39:45 -07:00
TreeHugger Robot
47cf4d9c58 Merge changes I89bd9afb,I5783be3c
* changes:
  HWUI-VK: Decouple hwui Vulkan backend from Vulkan WSI APIs
  HWUI-VK: Fix initial window transform
2019-06-27 04:16:20 +00:00
TreeHugger Robot
f5675bff18 Merge "Fix damage calculation for animation matrix" 2019-06-27 01:34:38 +00:00
Yiwei Zhang
bd363c94ff HWUI-VK: Decouple hwui Vulkan backend from Vulkan WSI APIs
1. Android support all transforms as exposed by client composition.
2. Properly exposing min/max image size is tracked in http://b/134182502.
3. Current image size and max buffer count are cached in Surface already.
4. Remove surface support check since hwui does not have YUV + CPU consumer.
5. Since HWUI must require those image usage flags, just use them directly,
   and those are always supported by Vulkan driver and enforced by cts.

Bug: 136110987
Test: CtsUiRenderingTestCases and CtsGraphicsTestCases
Change-Id: I89bd9afb69a46e3deca09890ce6348c6b61edddf
2019-06-26 17:10:28 -07:00
Yiwei Zhang
6bbcedacf5 HWUI-VK: Fix initial window transform
Test: CtsUiRenderingTestCases and CtsGraphicsTestCases
Change-Id: I5783be3cfe47597b7931b5605579edb6e189a87e
2019-06-26 17:09:27 -07:00
John Reck
e275052118 Fix damage calculation for animation matrix
Fixes: 111094270
Test: demo app from bug
Change-Id: If434ade19fa103fabbe64f483193d61cb6f1b204
2019-06-26 13:46:09 -07:00
Fedor Kudasov
86bd214059 Enable RenderNode and RecordingCanvas for layoutlib
Bug: 117921091
Test: all tests should pass
Change-Id: I574b12a5f7a6a54cbbcb17c35a3884368fd404e6
2019-06-26 19:24:15 +00:00
Fedor Kudasov
c8d5387564 Merge "Remove EGL references from CanvasContext header" 2019-06-26 19:23:47 +00:00
Fedor Kudasov
361e13fc4a Merge "Fix potential off-by-one" 2019-06-26 16:55:03 +00:00
Fedor Kudasov
52abc909da Remove EGL references from CanvasContext header
Bug: 117921091
Test: all tests should pass
Change-Id: Ib8ff068c8dcbc4f9855cc91c4af1d704d66dde7b
2019-06-26 16:03:26 +00:00
Fedor Kudasov
b7c2eb98fb Remove redundant header
Bug: 117921091
Test: all tests should pass
Change-Id: I6a3ddd9b5f24bc3ed4d7862493c0c72e79b4410d
2019-06-24 14:26:28 +00:00
Fedor Kudasov
c53174301c Fix potential off-by-one
Being consistent with the notion of mEndChildIndex, it should be -1 by
default. Otherwise it assumes the display list has a single element.
This is consistent with EndReorderBarrierDrawable constructor that would
set mEndChildIndex to -1 if display list is empty.

Bug: 117921091
Test: all tests should pass
Change-Id: I64b84c789ad8126ac8f0b8c2ebfc128635e5b30d
2019-06-24 08:15:27 +00:00
Fedor Kudasov
257b2d2981 Merge "Remove redundant include from RenderNodeDrawable" 2019-06-22 08:16:48 +00:00
Fedor Kudasov
fe2dcf1877 Remove redundant include from RenderNodeDrawable
Bug: 117921091
Test: all tests should pass
Change-Id: Iaac1a9fe2f04dedb5f04d7ae6288e69332824b00
2019-06-21 10:04:32 +00:00
Fedor Kudasov
d501e10b0b Move GL specific code away from header
Bug: 117921091
Test: all tests should pass
Change-Id: I124a17ac6a378029fc6836ad234bf45095675aae
2019-06-21 09:25:48 +00:00
Fedor Kudasov
90df056f4d Split lighting out of SkiaPipeline
ReorderBarierDrawables includes SkiaPipeline just for the sake of
lighting, however SkiaPipeline brings much more unnecessary
dependencies. Splitting lighting our of SkiaPipeline should
make dependency resolution simpler.

Bug: 117921091
Test: all tests should pass
Change-Id: I6adf7c43555cfa3ff7090a1197fc11160d3a85ec
2019-06-19 16:37:56 +00:00
Elliott Hughes
e6936e2792 Merge "Move off ZipString and over to std::string/std::string_view as appropriate." into qt-dev-plus-aosp am: ee1c95f060
am: 0566225cb8

Change-Id: I351ea009ee322ecd8bd117e4b2b686c636fb6770
2019-06-17 16:39:52 -07:00
Elliott Hughes
0566225cb8 Merge "Move off ZipString and over to std::string/std::string_view as appropriate." into qt-dev-plus-aosp
am: ee1c95f060

Change-Id: Ic87fff08eaf240bbaa370432b6955520206d3882
2019-06-17 16:26:05 -07:00
Elliott Hughes
78de4f999d Move off ZipString and over to std::string/std::string_view as appropriate.
Bug: http://b/129068177
Test: treehugger
Change-Id: Ib46761d89772d3a3c655a39df573fd305c117d19
2019-06-17 16:47:58 +00:00
Jerome Gaillard
462f70fd7c Merge "Replace CLOCK_MONOTONIC with SYSTEM_TIME_MONOTONIC" 2019-06-17 09:28:06 +00:00
TreeHugger Robot
5f5c8463a3 Merge "Suppress compressed rersources.arsc on host" 2019-06-14 16:05:14 +00:00
Jerome Gaillard
e218c69285 Replace CLOCK_MONOTONIC with SYSTEM_TIME_MONOTONIC
Using SYSTEM_TIME_MONOTONIC works for Android (where it translates to
CLOCK_MONOTONIC) and host targets, while CLOCK_MONOTONIC is not defined
on macOS.

Bug: 117921091
Test: existing tests should pass
Change-Id: I1fad472881830fb0701a320cf37319e083932ad4
2019-06-14 12:07:36 +00:00
Ryan Mitchell
31b1105762 Suppress compressed rersources.arsc on host
Do not print warnings when an APK loaded into aapt2's symbol table has a
compressed resources.arsc. This log is helpful at runtime since
compressed arscs take longer uncompress.

Bug: 130617130
Test: manual
Change-Id: I52847663ad8f46ba00d3dd1ebb2292ab54737680
2019-06-13 13:47:26 -07:00
John Reck
093c15b56c Merge "Fix setPositionListener race condition" into qt-dev am: 2c52298236 am: 76925e1210
am: b57389a7f2

Change-Id: I085af51f23b39f9f53ec12a80ae95abf7d38403b
2019-06-12 18:39:53 -07:00
John Reck
b57389a7f2 Merge "Fix setPositionListener race condition" into qt-dev am: 2c52298236
am: 76925e1210

Change-Id: I5dc7565f6fb7faae96e54bafcfa2a1bdcf3b389e
2019-06-12 18:14:51 -07:00
John Reck
282048a2b0 Merge "Fix setPositionListener race condition" into qt-dev
am: 2c52298236

Change-Id: Iea1515f11646a38bf7252ac7ee547296aeddced1
2019-06-12 18:10:47 -07:00
John Reck
76925e1210 Merge "Fix setPositionListener race condition" into qt-dev
am: 2c52298236

Change-Id: I93fb56c0e171ffc291962a3aa872ffb650545762
2019-06-12 18:01:47 -07:00
John Reck
097e1d3330 Fix setPositionListener race condition
Fixes: 131625115
Test: atest android.view.cts.SystemGestureExclusionRectsTest android.view.cts.SurfaceViewSyncTest android.uirendering.cts.testclasses.SurfaceViewTests

Change-Id: Ia357ff6fa5d5fe1e152abc23bbd6d8051cfd7aa7
2019-06-12 15:41:50 -07:00
Ady Abraham
44c4be7ee5 Merge "DisplayEventDispatcher: use eConfigChangedDispatch" into qt-r1-dev am: 619946fdc4
am: 8c219250c7

Change-Id: I70fd60cd1324ade4f3bc6b88036ec7b9be6d9e01
2019-06-07 18:54:09 -07:00
Ady Abraham
8c219250c7 Merge "DisplayEventDispatcher: use eConfigChangedDispatch" into qt-r1-dev
am: 619946fdc4

Change-Id: I98ecea42a933ed20ddd7b085baa88c277e53e353
2019-06-07 18:36:52 -07:00
Ady Abraham
9c501aad4b DisplayEventDispatcher: use eConfigChangedDispatch
In order to get DISPLAY_EVENT_CONFIG_CHANGED, eConfigChangedDispatch needs
to be used when creating DisplayEventDispatcher.

Bug: 131688378
Test: adb shell /data/nativetest64/libsurfaceflinger_unittest/libsurfaceflinger_unittest
Test: trigger config change and observe logcat
Change-Id: I0de8037ee5b024b7d9729750f582be919087be41
2019-06-07 10:26:47 -07:00