| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I45fcdfc9e3f41a687b6f4679f81e2b1f4479b9fc
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
More S's for More Speed
Split JankTracker's backing data from the
class to allow for data relocation to/from ashmem regions
Pack the jank tracking data to fit in 256 bytes
Change-Id: Ife86a64b71a328fbd0c8075fe6a0404e081f725b
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We now peform a total-size preflight pass before committing data to the
wire. This is to eliminate the large superfluous network traffic that
would otherwise happen if the transport enforces internal quotas: we
now instead ask the transport up front whether it's prepared to accept
a given payload size for the package.
From the app's perspective this preflight operation is indistinguishable
from a full-data backup pass. If the app has provided its own full-data
handling in a subclassed backup agent, their usual file-providing code
path will be executed. However, the files named for backup during this
pass are not opened and read; just measured for their total size. As
far as component lifecycles, this measurement pass is simply another
call to the agent, immediately after it is bound, with identical
timeout semantics to the existing full-data backup invocation.
Once the app's file set has been measured the preflight operation
invokes a new method on BackupTransport, called checkFullBackupSize().
This method is called after performFullBackup() (which applies any
overall whitelist/blacklist policy) but before any data is delivered
to the transport via sendBackupData(). The return code from
checkFullBackupSize() is similar to the other transport methods:
TRANSPORT_OK to permit the full backup to proceed; or
TRANSPORT_REJECT_PACKAGE to indicate that the requested payload is
unacceptable; or TRANSPORT_ERROR to report a more serious overall
transport-level problem that prevents a full-data backup operation
from occurring right now.
The estimated payload currently does not include the size of the
source-package metadata (technically, the manifest entry in its
archive payload) or the size of any widget metadata associated with
the package's install. In practice this means the preflighted size
underestimates by 3 to 5 KB. In addition, the preflight API currently
cannot distinguish between payload sizes larger than 2 gigabytes;
any payload estimate larger than that is passed as Integer.MAX_VALUE
to the checkFullBackupSize() query.
Bug 19846750
Change-Id: I44498201e2d4b07482dcb3ca8fa6935dddc467ca
|
|\ \ \ \ \
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
duplicate in shadow cache"
* commit '485c25ba46b02393245c4c766ad059644afa7cd9':
hwui : fix memory leak due to duplicate in shadow cache
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
New ShadowTask with the ShadowDescription key that already
exists in the shadow LruCache will leak as it is not being
added.
Fix adds check for the existing key that is common in the hwui
code but missing for the TessellationCache::precacheShadow
function.
Change-Id: I37fd5ec82f8b8da5d1ec0f2ab9fd04c5f8534367
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
bug:19732872
Change-Id: I8b539ab3677219fa5bb7de7caf0aad9fc47ef7e9
|
|\ \ \ \ \ \ |
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Also add additional compile time checks to ensure that the Java
and Skia APIs remain in sync.
bug:19890753
Change-Id: I8503cacf2859307e3f480a78603f9f05901b58cc
|
|\ \ \ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
pthread_cond_signal does not need the mutex
to be held to signal. This results in the thread
waking up trying to grab the lock, failing, the signaling
thread to wake up, release the lock, immediately get preempted
for the signaled thread which can now proceed.
Release the mutex before signaling to avoid the ping-pong
scheduling issue, which shaves another 10us off of this
Change-Id: Ie6bccca031ba6528f357eae8352b74626a6318c7
|
|\ \ \ \ \ \ \
| |/ / / / / /
| | | | | / /
| |_|_|_|/ /
|/| | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This prevents an issue where if the signal schedules
hwuiTask it will immediately block and go back to sleep due
to mLock still being held.
This costs 10us in thread scheduling ping-ponging bouncing
between hwuiTask and RenderThread
Change-Id: I47595c1bf5736576483a6aa7aada0b1be1e04268
|
|\ \ \ \ \
| |/ / / /
|/| / / /
| |/ / / |
Change-Id: Iabe3aa0ac6911a26d2ba7219f18332897276ed6f
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
gfxinfo'
To obtain the gfxinfo for each process, the static method of RenderProxy is used, which is named outputLogBuffer().
In there,
1. RenderTask is created for getting DisplayList Commands in RenderNode.
2. staticPostAndWait() is called
3. RenderThread's instance is created by 'RenderThread::getInstance()' in staticPostAndWait()
In case of the service, they don't use HW Acceleration, so don't need RenderThread.
But, by the process of No.3, RenderThread is created for all process.
As we know, RenderThread never be destroyed while the process is alive.
This patch checks RenderThread instance before the creation of RenderTask.
And, there is no one, just return to prevent the unnecessay creation of it.
Change-Id: I4fe29d83c9ced3e8b67177c0874c5d8ee62e1870
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We expect to be able to parse the output of ResTable_config::toString(),
so it should use modified bcp47 (b+en+Latn+US).
Change-Id: I597a1779a1fa5cff171c473e6a0368d93b9c7722
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I5336ac347123671a18401121c5f001c8f7caf54d
|
|/ / /
| | |
| | |
| | | |
Change-Id: I5e155c8baf3149f0ff231ec3c89dbff6bb8eae92
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
bug: 19732872
Change-Id: Ic3ae46f746325468ab972c9daf829099165eb596
|
|/ / /
| | |
| | |
| | | |
Change-Id: I5d26869de746107b8a35a7a662236f993a824b0d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This removes dependence on SkPath ptrs that HWUI does not control
the lifecycle of. This clears up some errors where the paths are
not generated from Java, but rather the Skia test suites.
Cherry-pick of a change that originally landed in master-skia and is
dependent on a skia merge (ag/655422).
Change-Id: I41b9797a2b0af5d6b4ea51891565469d4f1d832d
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rejects any non null-terminated string that a caller asks
ResStringPool::stringAt for, returning NULL instead.
The rationale for returning NULL rather than amending the string to add
a null-terminator is that conformant APK files will have all their
strings null-terminated anyway, and that this is a possible signal of a
malformed package.
Bug: 15288069
Change-Id: I370937b92f2cadf67fbd54203cbc7d1494be969f
|
|/ / /
| | |
| | |
| | | |
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Adds checks to 2 malloc() calls to ensure that the finally allocated
buffer size is not vulnerable to integer overflows. Also includes a
sanity check on the upper bound for type_info.numEntries before each
call.
Bug: 15171384
Change-Id: Ifdf0276bcca7e3d93da7c3577b9486d3c03a9d03
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
bug:19641517
Change-Id: Idc2e413abef5bb1438ffb3f52efb001504d3e89f
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I69440cabca84948e8aaead9479d616ebc2496517
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
bug:19641517
Also switch Glop VertexAttribFlags to use int for group of flags.
Change-Id: Ib7b1934197a62206a55baa6ab484ac59f5bec816
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ib9b5d06313e5bf933edfb38a4522929104c7917a
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ieb6badd177bb6f67dda199dfcb3e0f483c8c4e59
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
bug:19627342
Change-Id: I97f26ca1bc8abe2768f4a12cc70fb0fa5d905098
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
bug:19627342
Change-Id: I41e3c1ce8e6fa52f046ec492d19de7cab92b9ec5
|
|/ / /
| | |
| | |
| | | |
Change-Id: Ibcbed5dd2dc327821fc26e87191185f0069c9911
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Improve behavior when we get a call to draw 0 points.
Replace one ALWAYS_FATAL statements with noop.
Change-Id: I864b7a9633dfa3dc6eefa403beca4cc7ae14074f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
bug:19597454
Change-Id: If12b95e83588b81a553210cd8c2437c6c771073a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
bug:19597454
Change-Id: I9dbe781a714582717a5585113b9a56821265b36e
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Icaa78bdb2cf52c1fc2194ec4016634967d17fb6a
|