7313 Commits

Author SHA1 Message Date
John Reck
2de7771740 Normalize GL_UNPACK_ALIGNMENT
Several places were setting GL_UNPACK_ALIGNMENT
unneccessarily, whereas other places were assuming an
unpack alignment of 1. Since we never actually
do explicit row-alignment, set GL_UNPACK_ALIGNMENT
to 1 at context creation time and never change it

Bug: 26584230

Also turns on aggressive glGetError checking to
better catch potential problem zones

Change-Id: I190c8f0f0494a7f046d5ed769405c75d363be59a
2016-01-20 13:16:24 -08:00
Derek Sollenberger
88d842fedf Add support for bitmaps with Grey_8 color type.
bug: 26679788
Change-Id: Ib5524e3e204e1478461c7371c411e96285feb9c7
2016-01-20 10:48:55 -05:00
John Reck
dcdbba7c95 Re-enable new pipeline
Change-Id: I0d0b2a109a3756d404e4e244348a863a9afa3f9b
2016-01-19 13:57:48 -08:00
John Reck
0c540849d7 Merge "Fix ordering of texture->upload arguments" 2016-01-19 21:21:33 +00:00
John Reck
9372ac3621 Fix ordering of texture->upload arguments
Caught by scatter-shotting GL_CHECKPOINTS which
seem generally useful to have

Bug: 26609444

Change-Id: Ie31d9297d8dae56405126720f338b4256c8bae77
2016-01-19 12:58:48 -08:00
John Reck
465eefb9f3 Merge "fix race condition between HWUI cache and renderThread" am: 2c2b5e8514
am: 4354ae9883

* commit '4354ae9883ae1282ac457539f46d529bdfa89fec':
  fix race condition between HWUI cache and renderThread
2016-01-19 18:42:21 +00:00
John Reck
4354ae9883 Merge "fix race condition between HWUI cache and renderThread"
am: 2c2b5e8514

* commit '2c2b5e8514247d8524778d209f26b7dbde19d142':
  fix race condition between HWUI cache and renderThread
2016-01-19 18:38:11 +00:00
John Reck
1b94f9b77c Revert "Switch to new rendering pipeline"
This reverts commit 3daf4d3272f2cc6ce3b5a572b9d4dcce1654086d.

Temporarily disable due to high rate of crashes from endLayer check

Bug: 26609444
Change-Id: I7583a77bf5cc1e722fa4042db0542f80cd978760
2016-01-19 09:44:39 -08:00
John Reck
7d569db936 Merge "Hard-abort tests if LOG_ALWAYS_FATAL" 2016-01-19 15:38:16 +00:00
Thomas Buhot
c0a0e1a66d fix race condition between HWUI cache and renderThread
getMaximumBitmapWidth() and getMaximumBitmapHeight() of DisplayListCanvas
need HWUI cache instance. Since the initialization of the cache is
asynchronous it may crash if not yet ready. Add a staticFence() call
to guarantee the cache has been created prior issuing the call.

Change-Id: I5ed9e5cc084444c8d1872a77fef50e294ae14e93
Signed-off-by: Thomas Buhot <thomas.buhot@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
2016-01-19 15:00:42 +08:00
John Reck
f1dafb5962 Hard-abort tests if LOG_ALWAYS_FATAL
Bug: 26591625

Also fixes it so debuggerd runs and we get stacks

Change-Id: I55b376e6a4e12ddcd21fa251fbfe5bd521fc0985
2016-01-15 16:58:23 -08:00
John Reck
7db5ffb7db Revert "Revert "Fix leak in unclipped save layer""
This reverts commit a6fc36d4cd7f27147fd304960acdd1d2f47fc1c6.

Change-Id: I6b96afe4a32dc894d5b17cfb870b45063257aed2
2016-01-15 13:59:37 -08:00
Daniel Chapin
a6fc36d4cd Revert "Fix leak in unclipped save layer"
This reverts commit 8e068d5fd38dd103a122215fb6d185135182edf3.

Change-Id: Icd8ad5a2450db34aacecf748d6103df9faaa4c81
2016-01-15 03:02:58 +00:00
John Reck
8e068d5fd3 Fix leak in unclipped save layer
Change-Id: I31f146af2cb6f5cb8dd19bb0feff0ae35b864eba
2016-01-14 16:28:28 -08:00
John Reck
a55b5d6c65 Fix "leak" in FrameBuilder.textureLayer test
DeferredLayerUpdater always did a post to delete itself, which
would result in the test thinking it had leaked an object since
it wasn't deleted when it returned. Fix this by deleting immediately
if we're already on the right thread.

Remove RenderState's requireGlContext assert as it's now
covered by GpuMemoryTracker, which is also more test friendly.
RenderState's assert required an actual EGL context, which we
don't mock away in unit tests.

Change-Id: Ic23eb54e7151355f7acca483d7464350c9d6a87f
2016-01-14 15:09:10 -08:00
John Reck
00159554e0 Fix leak in OffscreenBufferPoolTests
Change-Id: Ic16df75bdc01d902639df98bc6798d9383510342
2016-01-14 14:47:07 -08:00
John Reck
cbc5bd57f0 Merge "Track texture memory globally" 2016-01-14 21:49:42 +00:00
John Reck
f6762aca4a Merge "Trap SIGABRT in RenderThread for unit tests" 2016-01-14 21:49:30 +00:00
John Reck
e5da4ef971 Trap SIGABRT in RenderThread for unit tests
Change-Id: Icc1039543d975497808a8062e9d909537c4a29c9
2016-01-14 13:43:55 -08:00
John Reck
38e0c32852 Track texture memory globally
Also mostly consolidates texture creation

Change-Id: Ifea01303afda531dcec99b8fe2a0f64cf2f24420
2016-01-14 13:42:12 -08:00
Derek Sollenberger
3d5278b638 Update TestWindowContext to work with new HWUI ops.
This enables HWUI to be testing within Skia's infrastructure and
fixes skia bug 4775.

Change-Id: I242b9e4c5ed0f4523b6075d8825a2624235a01c7
2016-01-14 19:26:04 +00:00
Chris Craik
6fb775521a Merge "Log render pipeline in gfxinfo dump" 2016-01-14 18:58:54 +00:00
Chris Craik
ff3edce12d Log render pipeline in gfxinfo dump
Change-Id: Ia50c445b29d918f274ec45632d61d8b8479c72eb
2016-01-14 10:29:38 -08:00
Doris Liu
e410a357f5 Properly handle the negative scaling factor of canvas in VectorDrawable
Bug: 26489687
Change-Id: I91cce34759fbbac206cd59f4636fd92194396c87
2016-01-13 17:23:33 -08:00
Chris Craik
3cfc373127 Merge "Skip layer updates for layerless nodes" 2016-01-13 19:16:16 +00:00
Chris Craik
e9c5fd888b Skip layer updates for layerless nodes
bug:26535405

Change-Id: I4d5ea8401f59815715c5b51f88d549474876160c
2016-01-13 11:13:01 -08:00
Matthew Bouyack
b79151759a Merge "In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments." into cw-e-dev am: eebf168e43 am: e0845e8629 am: 6222bb0f6a
am: 099bd9ca8f

* commit '099bd9ca8fea02795424d62c05c723290d68ae14':
  In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments.
2016-01-13 19:00:07 +00:00
Chris Craik
8e77ff5eff Merge "Disable buildLayer crash" 2016-01-13 18:50:56 +00:00
Chris Craik
3145247b3e Disable buildLayer crash
Change-Id: Ia51e8da01d5c694fb1a084cea8dfce865c56a456
2016-01-12 18:55:15 -08:00
Chris Craik
48cb62018c Fix the build
Change-Id: I11aaa6dabdc3998155ee7f1ee58083bb88f19aad
2016-01-12 18:26:55 -08:00
Chris Craik
477e26cf93 Merge "Switch to new rendering pipeline" 2016-01-13 01:13:32 +00:00
Chris Craik
3daf4d3272 Switch to new rendering pipeline
bug:22480459

Change-Id: I3ca94c4b6c556ba6d133e2314ac0307e874651fa
2016-01-12 16:11:06 -08:00
Chris Craik
27182321dc Merge "Fix shadow bounds calculation" 2016-01-12 23:44:02 +00:00
Chris Craik
420d655950 Fix shadow bounds calculation
Change-Id: I78b6aa91d62c3c4838ffc80b380604c7863e8467
2016-01-12 15:38:14 -08:00
Chris Craik
d0eb180923 Merge "Rename Reorderers to Builders" 2016-01-12 23:00:50 +00:00
Matthew Bouyack
099bd9ca8f Merge "In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments." into cw-e-dev am: eebf168e43 am: e0845e8629
am: 6222bb0f6a

* commit '6222bb0f6a772c8fa1dc402740399b0ad1017520':
  In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos and save the result. Then pass that value to UiFrameInfoBuilder::setVsync as both arguments.
2016-01-12 22:45:49 +00:00
Chris Craik
f158b49c88 Rename Reorderers to Builders
Change-Id: I9bb5a2e70055e2f6d14912fbd86ab72ac0d6e20c
2016-01-12 14:45:08 -08:00
Chris Craik
bc9029f1db Merge "Fix 9 patch mesh usage" 2016-01-12 22:10:19 +00:00
Chris Craik
89ceb5c977 Fix 9 patch mesh usage
Change-Id: I638fd5816d68a9ecd7f1709624fde2f372de5fa7
2016-01-12 13:45:34 -08:00
Chris Craik
f2c4be292d Merge "Fix a couple crashes in the new reorderer" 2016-01-12 20:31:17 +00:00
Chris Craik
84ad6149db Fix a couple crashes in the new reorderer
Also fixes the layer clear scissor logic in BakedOpRenderer, fixing a
flicker.

Change-Id: I61106a18938ea35e31f0a0b585b5743544245773
2016-01-12 12:19:51 -08:00
Chris Craik
67031a12f3 Merge "Fix deep copy of entry queue" 2016-01-12 20:03:48 +00:00
Matthew Bouyack
7f667e7a08 In CanvasContext::doFrame, make a separate call to computeFrameTimeNanos
and save the result. Then pass that value to
UiFrameInfoBuilder::setVsync as both arguments.

The order of function argument evaluation is undefined in C++. Because
the value returned from TimeLord::latestVsync may be changed by
the preceding call to TimeLord::computeFrameTimeNanos the values of the
arguments passed to UiFrameInfoBuilder::setVsync is also undefined. This
change removes any ambiguity.

Change-Id: Ie71ee453f9ccc725edfe5f7cc9b277f2a809dfdc
2016-01-12 12:01:48 -08:00
Leon Scroggins III
5518e7cbd4 Override getSaveLayerStrategy instead of willSaveLayer
willSaveLayer was removed in https://codereview.chromium.org/1537193002

Requires SkCanvas::SaveLayerFlagsToSaveFlags, added in ag/839104
(Ic78acd6d780245bd30b891e7dcabe29daacc17f4)

Change-Id: Idc49b38fc7939620267b4402ff3846b29f27c81a
(cherry picked from commit e208643a6f9d076274dd683c51a086b1e3679896)
2016-01-12 18:20:38 +00:00
Chris Craik
b250a834e4 Fix deep copy of entry queue
also fixes several 64 bit compilation issues

Change-Id: I1825f822d02be72c21bdcd07cefa68217856ddc2
2016-01-11 19:28:19 -08:00
Chris Craik
ae10e1368c Merge "Fix clip serialization crash" 2016-01-12 02:14:29 +00:00
Chris Craik
15f046866c Fix clip serialization crash
Can't safely rewind clip allocations, since those pointers are cached by
ClipArea. Instead add early rejection to handle most cases, and update
tests.

Change-Id: Ic32f95cf95602f427f25761a8da1583c4495f36d
2016-01-11 17:54:49 -08:00
Chris Craik
e3dc1fe215 Merge "Rename OpReorderer to FrameReorderer" 2016-01-11 23:44:17 +00:00
Chris Craik
5ea1724be4 Rename OpReorderer to FrameReorderer
Also separate LayerReorderer into its own files.

Change-Id: Iafb6a156f760f62f831f6288fd0dadf1db25da24
2016-01-11 15:35:52 -08:00
Chris Craik
f9b3678534 Fix path position in BakedOpDispatcher
Change-Id: I73f4bbcf3fe6f5d3fbdf8058b598bb8f1622097c
2016-01-11 13:26:58 -08:00