Global default typeface initialization is only used by test code.
It is good to do in test and remove from production.
Test: ran hwuimicro hwui_unit_tests hwuimacro
Change-Id: I7090b1794828072112540b4e357a6d24bf8f664a
Also speed up RenderNode creation:
Use finalizer() instead of NativeAllocationRegistry, this
shaves ~3us off of creation currently
Avoid instanceof, instead have SurfaceView explicitly ask
for updates.
Remove unused method call.
Test: ran benchmarks
Change-Id: I3117fdf72313a4e6a9965baca9f2a8b855c19b34
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
Fixes: 28125010
Restructures 'scene defer', to implement window backdrop overdraw
avoidance in new render pipeline, and disable clipping to content draw
bounds.
Also restructures FrameBuilder's constructors, to separate out into
multiple defer methods.
Change-Id: I53facb904c1a4a4acc493d8a489921a79a50494e
Skia's SkCanvas::SaveFlags are being deprecated. This CL introduces
the equivalent android::SaveFlags, converts all internal clients to
the new enum, and switches the saveLayer glue to the
SaveLayerRec-based API.
Change-Id: Icb1785f4e7c0f652b1f04b34a1e3ccb063c408f3
- Refactored VPathRenderer & VectorDrawableState
- Moved all the VD rendering into native
- Set up hooks for VD's property changes in JNI for animated VD
TODO: JNI calls can be further reduced when we convert the animation
in AVD to use RenderNodeAnimator, in which case animation will be
driven from native and therefore most of the JNI hooks for changing
VD's properties during animation will no longer be needed.
Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f
bug:22480459
Also switches std::functions to function pointers on OpReorderer, and
switches AssetAtlas' entry getter methods to using pixelRef pointers,
so it's clear they're the keys.
Change-Id: I3040ce5ff4e178a8364e0fd7ab0876ada7d4de05
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