std::unique_ptr::release just releases the ownership of the
managed object. To delete the object, std::unique_ptr::reset
function should be called.
Change-Id: If65f74085b1fc2be3a9fffc433326e0bcdb40ff3
skia_dm rendering through HWUI was hanging after roughly 300 tests.
logcat reports some process was unable to get any file descriptors.
When we migrated TestWindowContext into HWUI and started using PIMPL
I didn't clean up the implementation struct in the destructor. Doing
so solved the hang for me.
My guess was that BufferQueue was being leaked, and that gralloc is
backed by file descriptors, but some research suggests that Android
ought to be able to handle far more than 1k fds (ulimit -Hn returns
4096 on this device).
R=djsollen@google.com
Change-Id: I2cd9f8945cee9b22f838002e1ad687d5fe29cb97
On the critical path of the cold launch of applications
the main thread of the started application tells the RenderThread
to create a surface. This process is synchronous and blocks
the main thread of the application until the creation
of the EGLContext is complete.
As a consequence the launch time of the application is delayed
by time spent allocating the EGL Context in the RenderThread.
With this optimization the launch time of any application
is improved (for example settings by 20 to 40 ms).
Change-Id: Ibf47aaa0abb8dedf7aa00693073db3785d9d6b08
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
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
This patch does the following things:
- add new graphic assets of large icons for accessibility needs
(imported from ChromeOS data)
- add the logic to choose the set of normal icons or accessibility icons
- make InputManagerService to observe the settings change, so that
it can reload the new resources
This patch misses non-1x graphic though, because ChromeOS doesn't
have such data.
Bug: 25778857
Change-Id: Ia5f95d47f50b3f6eea555c3af8069bc6bae0b400
Bug: 25843358
If the time between last swap & current vsync grew larger
than 2 seconds it would overflow when placed into an int, causing
frames to be dropped as negative numbers are definitely
less than 2_ms.
Change-Id: Icd2136989e5bbf5a0e21611b95a4d515b5ff9b14
Introduced PathData in Java, which is effectively a thin layer around the
native instance. PathData holds the verbs and points which is being used
in path morphing/interpolation. The verbs and points can be interpreted
into skia path commands, which is now done in native and therefore saves
a handful of JNI calls during path creation.
Removed the old PathDataNode mechanism and changed the PathEvaluator
to use PathData instead.
Also added tests and a microbench. Also ran CTS tests for VectorDrawable
and AnimatedVectorDrawable, and passed all of the existing tests.
Change-Id: Ia166f5172ff031fe18b154327967f911a62caec1
Also adds logic to clip temporary layers to viewport both for
efficiency and to allow large ones (such as the fallback case) to fit
in max texture size.
Change-Id: Iee51495220f5ca1dc7e6f5fd3615db2e896efd74
Now passes alphas and light radius, and correctly transforms light
center for layers.
Also fixes begin-frame/layer clears to be damage rect aware.
Change-Id: I3b1415cd7bf1518c510145ebebdb745f494a2542
Recent changes to mExtensions moved the initialization code from the
constructor to a separate function called load. Make sure to call
this function in the initExtensions function call.
Bug: 25615666
Change-Id: Ic016232c42afefd3b5bc3e4bd5c8428a11c454ad