Commit Graph

22 Commits

Author SHA1 Message Date
John Reck
4d527226fd Add back render-ahead support
Currently only supported in the EGL path.
Vulkan support Coming Soon

Bug: 127822449
Test: trace of hwuimacro
Change-Id: Iac2b039e11d964aab5b8ca1bdf2a5430b187e2ea
2019-04-04 18:03:35 +00:00
John Reck
322b8ab774 Remove old TaskManager system
Replace it with a newer, fancier, WorkQueue-inspired
one that's just a global common thread pool.

Test: hwuiunit passes
Change-Id: Ib5d03104a08bbac9a4ec67a1bfc0db2b35d6700f
2019-03-18 09:34:11 -07:00
Dominik Laskowski
3316a0a08e Generalize physical display management
This CL enables the framework to manage an arbitrary number of physical
displays. It also surfaces physical display IDs, which are stable across
reboots and encode (model, port) information that will be propagated
further up in a follow-up CL.

Bug: 116025192
Test: Boot with more than two displays
Test: Hotplug works with any number of displays
Test: Verify stable display IDs with "dumpsys display"
Change-Id: Idb2eaff66b2e0873be6ad27d337ff18b730d1331
2019-02-04 10:06:15 -08:00
John Reck
8785ceb3b9 Refactors and a potential public API for rendering
Split out the View/ViewRootImpl bits from the
hardware rendering bits.

Create a potential public API surface for
hardware rendering

Bug: 112709971
Test: builds & boots

Change-Id: I9e6f44b07a170574a905f42338282c4bb7e95f56
2018-11-08 15:32:35 -08:00
Elliott Hughes
a06d5174df Track google-benchmark API changes.
Bug: N/A
Test: builds
Change-Id: I126734361d367529a8175aff6cc10fc426b39e1a
2018-10-30 10:12:57 -07:00
John Reck
ed024d2188 Create magnifier bench scene
Test: this
Change-Id: Iea1033fda55ff0946b5cd8d28ecba29453b937ca
2017-11-10 15:06:43 -08:00
John Reck
1bcacfdcab Format the world (or just HWUI)
Test: No code changes, just ran through clang-format
Change-Id: Id23aa4ec7eebc0446fe3a30260f33e7fd455bb8c
2017-11-03 10:57:44 -07:00
John Reck
2de950d5a8 Overhaul RenderNode's DisplayList management
* Move mValid to native
* Have destroyHardwareResources destroy everything
* Remove flaky mParentCount checks in setStaging
* All tree updates have an internal observer to
  ensure onRemovedFromTree() is a reliable signal
* onRemovedFromTree() immediately releases resources
  to avoid displaylist "leaks"

Test: Unit tests for validity added & pass, manually
verified that b/34072929 doesn't repro

Bug: 34072929

Change-Id: I856534b4ed1b7f009fc4b7cd13209b97fa42a71c
2017-01-25 12:24:40 -08:00
Mark Salyzyn
173215d1b2 resolve merge conflicts of ec7e2a164c to master
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I49c6e41b79061e2b3c0352e3ac8fa5ebb152b6f5
2017-01-12 08:28:30 -08:00
Mark Salyzyn
96bf5985d5 Replace cutils/log.h and log/logger.h with android/log.h or log/log.h
(part deux)

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I7417936c4d3666608fccfe51a312c90ecefba2fb
2017-01-11 15:30:30 -08:00
sergeyv
a5c73e3839 HWUI: fix prep_buller, so it locks powerlevels for gpu
bug:31501517
Change-Id: I4c2006b66f6cb0cf2e3a94966651652c1d3d287d
2016-09-16 15:12:02 -07:00
Stan Iliev
06152cdd06 Use Canvas::create_recording_canvas instead of RecordingCanvas ctor
Modify HWUI tests to support different recording canvases. Delete
TestCanvas class and use base Canvas class instead. Use
Canvas::create_recording_canvas to create recording canvas instances
instead of RecordingCanvas constructor.

Change-Id: I651fb9bb4add0874d7110bac467a2eb1012357fc
2016-07-28 18:23:36 -04:00
John Reck
f1480761c1 Benchmark-mode for macrobench
Adds googlebench output format support
Adds offscreen rendering for >60fps benchmarking
Adds 'all' alias to run all registered TestScenes

Change-Id: I2579e40f2f4c941bfbd90c75efbee384c08a116b
2016-07-06 10:50:21 -07:00
John Reck
ab1080c4d0 Delete unused args
Bug: 21170575
Change-Id: Icc832f70f206342557f44667ad3498405d04db78
2016-06-21 16:24:20 -07:00
Chih-Hung Hsieh
d53e3bed1c Fix google-explicit-constructor warnings.
Bug: 28341362
Change-Id: I080090d50f1a368a4e7c1a0732297bb6a295e34f
2016-05-03 10:02:51 -07:00
John Reck
4a735441e8 Merge "Fix a derp" into nyc-dev 2016-04-08 15:09:26 +00:00
John Reck
a41f244515 Fix a derp
Fixes: 28074465

I knew I added that flag for a reason...

Change-Id: I6e28237dcd50191769a828bf2646c3a00c14387c
2016-04-07 16:36:57 -07:00
John Reck
51f2d606dc Fix some edge cases
Bug: 27709981

This desperately needs a refactor, but to keep
the current (really needed & nice) behavior of
dispatching after sync finishes would be difficult
to handle cleanly without lots of ripping so... #yolo

Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
2016-04-07 14:10:43 -07:00
Chris Craik
2705c983f5 Remove unnecessary fence in macrobench
bug:26882579

Change-Id: Ic2d610b5ae7e04513dc7f7fa99d355d406a73379
2016-02-03 17:39:41 -08:00
John Reck
682573c84b Add some options to macrobench
Change-Id: If8d5f5d3ace050577986a554182b2b66fd2257e1
2015-12-16 16:40:02 -08:00
Chris Craik
27e58b4f54 Build hwui test scenes as common test code
And start using them in other non-macrobench tests

Change-Id: If155b531f3c89f97491001c06d1996df527b9f85
2015-12-07 16:41:35 -08:00
Chris Craik
8160f20b0a Reorganize hwui test directories
Now test-only common files reside in tests/common, and each test
executable type (macrobench, microbench, and unit) has a subdir there.

This change means the shared lib no longer has test code in it, and
sets up a means for scenes to be shared between tests.

Change-Id: I37b081f6977300e03fdd961b8e6439fde730605e
2015-12-02 15:25:10 -08:00