6528 Commits

Author SHA1 Message Date
Derek Sollenberger
1db141f93c Create proxy between Skia's SkCanvas and the framework Canvas.
This enables Picture.java to be replayed into HWUI in addition
to extending the Skia testing suite to HWUI.

Bug: 19011232
Change-Id: Id27ac03eec817b0784763e62ab8413a07b3b8cb2
2015-01-30 12:56:37 -05:00
Chris Craik
ff5c8e8097 Fix double create of Caches
bug:19208182
Change-Id: I91ac591cecc207da1b102013ca4985dd075cca80
2015-01-30 09:46:18 -08:00
Derek Sollenberger
c4e4eef64a Merge "Rename Canvas::getSkCanvas to Canvas::asSkCanvas" 2015-01-30 14:25:24 +00:00
John Reck
49bc4acfad resolved conflicts for merge of fe5ac4fc to master
Change-Id: I6c0cc82db14b56297586469f940e408c0e218b3b
2015-01-29 12:53:38 -08:00
John Reck
fe5ac4fc31 am 5f3e21ce: am 6efc3ac6: Merge "Allow ~Layer() to happen after onGLContextDestroyed" into lmp-mr1-dev
* commit '5f3e21cebeecf042e8e18a5021b3965415d9ff60':
  Allow ~Layer() to happen after onGLContextDestroyed
2015-01-29 20:28:08 +00:00
John Reck
57998017ff Allow ~Layer() to happen after onGLContextDestroyed
Bug: 19146354
Change-Id: I9e885936168bd541bfbed4064ad67ab524f58e32
2015-01-29 10:17:57 -08:00
Derek Sollenberger
b3d50e0075 Rename Canvas::getSkCanvas to Canvas::asSkCanvas
Change-Id: I967a45698d382e54eaa5ff64fa8909ff00908650
2015-01-29 11:25:55 -05:00
Chris Craik
96a5c4c7ba Move more GL state management to RenderState and its directory
Change-Id: Ic68584e1c08dc64be2ad43450cb6caa1de834fdc
2015-01-28 16:32:39 -08:00
Chris Craik
65fe5eeb19 Move scissor state to RenderState
Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
2015-01-27 17:12:39 -08:00
Yabin Cui
026111bc56 am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."
automerge: 3a10a67

* commit '3a10a672f05735be46256617b8a61cdb1e589008':
  kill HAVE_PTHREADS.
2015-01-27 23:27:37 +00:00
Yabin Cui
3a10a672f0 am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."
* commit 'f70492898b3efa3c5f480f195062fa6f293bc764':
  kill HAVE_PTHREADS.
2015-01-27 07:04:55 +00:00
Yabin Cui
1610486d37 kill HAVE_PTHREADS.
Bug: 19083585
Change-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564
2015-01-26 22:32:38 -08:00
Rob Tsuk
b9307823dd Merge "Ensure compatible layout for vertices" 2015-01-22 22:04:56 +00:00
Rob Tsuk
a9fc9b20da Ensure compatible layout for vertices
Require that these structs have standard layout, which is what we need
to pass them to OpenGL. Inheritence with data members violates the
rules for standard layout so I re-implemented them using templates to
share the code and putting all the data members in each struct.

Change-Id: I19cd0e5518728f2d3e0993b17d15fce7be7e0edb
2015-01-22 13:53:42 -08:00
Chris Craik
2ae0733982 Remove DisplayListLogBuffer
Change-Id: I001832fc444b6d532f4a382e0a31cc1d8956dbd8
2015-01-21 14:22:39 -08:00
Chris Craik
8076b5a8df Merge "Simplify and correct texture upload unpack alignment parameter" 2015-01-20 22:39:07 +00:00
Chris Craik
37424b3d55 Simplify and correct texture upload unpack alignment parameter
bug:18928352
Change-Id: I484dd225ef495394d5e4283345387647345c2a07
2015-01-20 14:15:51 -08:00
Adam Lesinski
43a88535df am d9bd0886: am aee7225e: Merge "Process base APK" into lmp-mr1-dev automerge: 554a6f5
* commit 'd9bd08864eaf9d8847d974eadb81806b9e086a2d':
  Process base APK
2015-01-20 22:03:16 +00:00
Adam Lesinski
d9bd08864e am aee7225e: Merge "Process base APK" into lmp-mr1-dev
automerge: 554a6f5

* commit '554a6f5278ec05077d8252249afc911897fbfe76':
  Process base APK
2015-01-20 21:55:12 +00:00
John Reck
849911a9c4 Move Canvas
Change-Id: I83d557af30fc2d5c69d06eedc0f4d52ac41c4210
2015-01-20 12:39:05 -08:00
Adam Lesinski
42eea270a0 Process base APK
The base APK may have resources with configurations that compete
against some splits. The base APK must be involved in the selection
of splits.

Bug:18982001
Change-Id: Ieb29b5a36cf2c68e7831484d98a9fd275acd97e8
2015-01-16 14:11:30 -08:00
Chris Craik
98f6bf4c1c am a2e1630b: am 996d3974: am ed35f5c7: Merge "Fast loadInverse() implementation for the common case"
* commit 'a2e1630b1e82f19c8e58882ab484ed21c3508692':
  Fast loadInverse() implementation for the common case
2015-01-16 18:14:01 +00:00
Chris Craik
a2e1630b1e am 996d3974: am ed35f5c7: Merge "Fast loadInverse() implementation for the common case"
* commit '996d39743a73cc37fb888779d52323743f50c666':
  Fast loadInverse() implementation for the common case
2015-01-16 18:07:23 +00:00
Romain Guy
e4998e1ea9 Fast loadInverse() implementation for the common case
Most matrices used by the UI toolkit are translation matrices, whose
inverses can be quickly computed by using the negated translation
vector.

Change-Id: I54a28a634a586085779bfc26f3a4160cd5ab2b22
2015-01-15 16:49:18 -08:00
Rob Tsuk
f28f5cec56 Merge "Clipping performance improvements" 2015-01-15 18:21:35 +00:00
John Reck
f78ff7d49a am cefeb34e: am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-dev
* commit 'cefeb34e4866209e2ccf4c520919fe31a3f1aeb5':
  Vsyncs are hard
2015-01-15 04:57:43 +00:00
Brian Carlstrom
33d0392d3e Restore write_delete_file
(cherry picked from commit 5baa164aec06a9973a68303bc7752aa76e5c68e5)

Change-Id: Ifa9a157346edd479ce03982baf435ab213dc2e79
2015-01-14 20:39:26 -08:00
Christopher Tate
33194035a5 am 49138184: am 9568307c: am 43a4a8c7: Fix redundant file backups
* commit '49138184dee54357b1923f302e4b3fedd73ca34f':
  Fix redundant file backups
2015-01-15 04:30:34 +00:00
Brian Carlstrom
5baa164aec Restore write_delete_file
Change-Id: Id93a59ae6c82f6068c58b22e2a651ff8a3b8f530
2015-01-14 18:19:54 -08:00
John Reck
cefeb34e48 am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-dev
* commit '2c9f86aa21b8d7ea6a77eaca9a49ccdb31245129':
  Vsyncs are hard
2015-01-15 01:39:50 +00:00
Christopher Tate
49138184de am 9568307c: am 43a4a8c7: Fix redundant file backups
* commit '9568307cf32c8abc6703dc7a1b0b0fee56c4f8f5':
  Fix redundant file backups
2015-01-15 01:39:29 +00:00
Rob Tsuk
487a92caef Clipping performance improvements
Create a ClipArea class to handle tracking clip regions. This class can
select the most efficient implementation depending on the types of
clipping presented.

ClipArea re-used the rectangle and region-based clipping
implementations as well as adding a "list of rotated rectangles"
approach that is more efficient for rotated views with children.

Change-Id: I2133761a2462ebc0852b394220e265974b3086f0
2015-01-14 17:24:58 -08:00
John Reck
53af1cd393 Merge "Vsyncs are hard" into lmp-mr1-dev 2015-01-15 01:08:57 +00:00
Christopher Tate
43a4a8c777 Fix redundant file backups
We'd observed a bug in which an unchanged file was nevertheless
being redundantly transmitted for backup on every backup pass.
The underlying issue turns out to have been the FileBackupHelper
base implementation's logic for diffing the prior-state file
set against the current state, in the case when there had been
deletions of prior files.  In addition, there was also a
parallel bug in which file checksums were not calculated
properly in some cases, leading to at least one additional
redundant backup of the file in question.

Bug 18694053

Change-Id: Ie0dec06486b5fef4624561737019569c85d6b2a0
2015-01-14 16:36:30 -08:00
John Reck
a22c9b2cd1 Vsyncs are hard
Bug: 18866485
Change-Id: I7d304df0f20a3296956cb6887a72adba9243f117
2015-01-14 10:40:15 -08:00
Derek Sollenberger
dbf22ccd92 Merge "Update HWUI to store its own SkBitmap objects" 2015-01-14 15:06:27 +00:00
Elliott Hughes
c2b7abdbb2 am 1e147221: am d6c475dc: am 595ae39f: Merge "Use more intention-revealing tests for S_ISLNK and S_ISSOCK."
* commit '1e14722167210e176cc1f6e702f1a7a98271c6d2':
  Use more intention-revealing tests for S_ISLNK and S_ISSOCK.
2015-01-13 20:32:52 +00:00
Elliott Hughes
1e14722167 am d6c475dc: am 595ae39f: Merge "Use more intention-revealing tests for S_ISLNK and S_ISSOCK."
* commit 'd6c475dc246b1681f5c9af9e00ac74183812329c':
  Use more intention-revealing tests for S_ISLNK and S_ISSOCK.
2015-01-13 01:32:37 +00:00
Elliott Hughes
1bf2481233 Use more intention-revealing tests for S_ISLNK and S_ISSOCK.
Change-Id: Ia7f13eb7d5a36cf2b4c0a253b2b4d7f7af396951
2015-01-12 14:33:04 -08:00
Sangkyu Lee
c3c58e015f Fix ANR caused by hwuiTask thread
If hwuiTask thread is exited while HWUI renders something,
some tasks can remain unfinished forever.
This can make ANR problem if RenderThread waits this kind of tasks.

According to the current implementation, hwuiTask threads are
exited when HWUI receives trimMemory() callback with level >= 20
and some applications such as SystemUI can receive trimMemory()
with level >= 20 even though they renders something yet.
(For instance, when RecentsActivity in SystemUI is finished,
HWUI receives trimMemory() callback with level >= 20
but SystemUI should still render the status bar and navigation bar.)

This patch prevents the tasks from remaining unfinished and
make the tasks executed immediately if they cannot be added
to their TaskProcessors.

Change-Id: I5bd26439aa5f183b1a7c1ce466362e27554b4d16
2015-01-12 13:10:52 +09:00
Derek Sollenberger
3d4eed7f1a Update HWUI to store its own SkBitmap objects
This enables us to...

1) simplify the lifecycle/ownership between Java and HWUI
2) remove DisplayListRenderer::drawBitmapData and associated logic
3) track pixel lifecycle using standard SkPixelRef refcounting
4) Remove uncessary calls to ref/unref the bitmap's pixels and colorTable

Change-Id: I3c95078da20995444f6388a029414280fd654318
2015-01-09 13:56:56 -05:00
John Reck
25bd5d6b04 Merge "Replace sleep() hack with vsync listening" 2015-01-08 19:15:31 +00:00
John Reck
84e390cc90 Replace sleep() hack with vsync listening
Change-Id: I4eb744d9a5abe40cf4f8bbaafa03e59b7360608a
2015-01-06 13:50:43 -08:00
Mike Reed
71487eb0ce Merge frameworks/base changes from master-skia to master.
Adaptations to changes in Skia upstream since Oct 2014.
(https://code.google.com/p/skia/issues/detail?id=2377)

cbb922d use new roundOut signature
77082de Call SkColorTable::readColors().
5456ab1 Handle the result of SkMatrix::asAffine.
25cfc78 Remove dependence on SK_LEGACY_PICTURE_SIZE_API.

BUG:18468293

Change-Id: I5a4d274e854298843891410b1ffd5e24f038b88a
2015-01-06 21:41:35 +00:00
Chris Craik
d41c4d8c73 Add overrides and switch to nullptr keyword for all files
Adds remaining missing overrides and nullptr usages, missed due to
an extreme failure in tool usage.

Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
2015-01-05 16:49:13 -08:00
Tom Hudson
8dfaa49042 Make DisplayListRenderer inherit from Canvas, merge JNI
Incrementally unify the upper layers for Skia and HWUI.
Remove redundant code from GLES20Canvas.java; instead
use inherited mNativeCanvasWrapper and superclass method
definitions.

Moves some unrelated SkPaint utility functions from Renderer
to new utils/PaintUtils.

bug: 15672762
Change-Id: I4ddd4214b8e9eeb95289d054ef423f2542bb5fa5
2015-01-05 15:25:41 -08:00
Chris Craik
51d6a3db97 Cleanup various clang warnings, use unique_ptrs in several places
Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
2014-12-23 16:53:56 -08:00
Chris Craik
e84a208317 Add overrides and switch to nullptr keyword
Changes generated with clang-modernize.

Additionally, fixed some struct-vs-class usage to make clang happy.

Change-Id: Ic6ef2427401ff1e794d26f21f7b44868fc75fb72
2014-12-22 14:56:08 -08:00
Chris Craik
07adacf499 Cleanup
Change-Id: I91ffb9c66697741116fdeaa31abdf6cfd79155df
2014-12-22 11:20:57 -08:00
John Reck
a285e9ed82 am 165fb8f5: am f89dac47: Merge "Tweak RT-animator scheduling" into lmp-mr1-dev
automerge: ed3c296

* commit 'ed3c2962be1e2966c3b46f20e81d2902a8302d8b':
  Tweak RT-animator scheduling
2014-12-19 23:22:58 +00:00