6679 Commits

Author SHA1 Message Date
Chris Craik
54d1f0439e Merge "Simplify matrix copy constructor/load" into mnc-dev 2015-07-07 19:09:43 +00:00
John Reck
d67db081a3 am 7772b03d: am 6ac3b54d: am 8e5d4761: am dfbae1f9: am 15b64099: Merge "Adjust for pipeline stalls" into mnc-dev
* commit '7772b03d5e3a8bce01cac511197afc52c9e56f5f':
  Adjust for pipeline stalls
2015-07-07 19:08:46 +00:00
John Reck
7772b03d5e am 6ac3b54d: am 8e5d4761: am dfbae1f9: am 15b64099: Merge "Adjust for pipeline stalls" into mnc-dev
* commit '6ac3b54df6151edf25560bce7b9efc388e47f8de':
  Adjust for pipeline stalls
2015-07-07 17:34:28 +00:00
Chris Craik
d2bfcc74fc Simplify matrix copy constructor/load
bug:22208220

Change-Id: Id096eb8de8da0dd1687d6af9456b16ce2a1a589b
2015-07-07 10:09:35 -07:00
John Reck
be3fba05e8 Adjust for pipeline stalls
Bug: 20853441

Calculating duration that crosses the UI-RT
sync point will now subtract out the time spent waiting
in queue under the assumption that this time will be
accounted for in the previous frame's metrics

Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
2015-07-06 16:12:46 -07:00
John Reck
6b6ba748f0 am e463f28e: am 1826da24: am f70a5a78: Merge "Set go-faster arguments" into mnc-dev
* commit 'e463f28eae88d0433a7bb41f5534b86000578900':
  Set go-faster arguments
2015-07-04 07:28:02 +00:00
John Reck
0606a04136 am 91d01e5d: am 0cec5293: am d7580333: Merge "Use std::sort instead of quickSortX" into mnc-dev
* commit '91d01e5d8b9a50ad04f0d0b5d6e35885f5d878a3':
  Use std::sort instead of quickSortX
2015-07-04 07:26:47 +00:00
Chris Craik
7b293b5556 am c3988e0a: am b4c02e8f: am d3ecb3e6: Merge "Switch from fminf/fmaxf to std::min/max" into mnc-dev
* commit 'c3988e0aa337b74693feb0abb898eb87fbb61b58':
  Switch from fminf/fmaxf to std::min/max
2015-07-03 20:35:50 +00:00
John Reck
e463f28eae am 1826da24: am f70a5a78: Merge "Set go-faster arguments" into mnc-dev
* commit '1826da24d84539960ed0959c9af2eea58c8b1668':
  Set go-faster arguments
2015-07-02 01:01:49 +00:00
John Reck
91d01e5d8b am 0cec5293: am d7580333: Merge "Use std::sort instead of quickSortX" into mnc-dev
* commit '0cec52933306b0e268bb6b4f8bf73648addf0df6':
  Use std::sort instead of quickSortX
2015-07-02 01:00:52 +00:00
Chris Craik
c3988e0aa3 am b4c02e8f: am d3ecb3e6: Merge "Switch from fminf/fmaxf to std::min/max" into mnc-dev
* commit 'b4c02e8ffd0c37b645fa8bb9fc03918a8cfc9a81':
  Switch from fminf/fmaxf to std::min/max
2015-07-02 00:59:49 +00:00
John Reck
f70a5a78bb Merge "Set go-faster arguments" into mnc-dev 2015-07-01 23:52:20 +00:00
John Reck
d758033368 Merge "Use std::sort instead of quickSortX" into mnc-dev 2015-07-01 20:55:23 +00:00
John Reck
5600d579b9 Set go-faster arguments
Bug: 22208220

Increases performance of shadows by yet another
15% by using more aggressive math optimizations

Change-Id: Ie3fabeae3647632a19ff573bf6b2d7f7a7cef555
2015-07-01 13:51:44 -07:00
Chris Craik
d3ecb3e6f0 Merge "Switch from fminf/fmaxf to std::min/max" into mnc-dev 2015-07-01 18:10:33 +00:00
John Reck
1e4209e387 Use std::sort instead of quickSortX
Bug: 22208220

Libcxx has a really good sort algorithm, use that
instead. This speeds up shadow tesellation by about 10%.

Also less code

Change-Id: Iaad424187121d7644076f94ba8a3cf4c110da2f2
2015-07-01 09:54:47 -07:00
Chris Craik
df72b63928 Switch from fminf/fmaxf to std::min/max
bug:22208220

Shows considerable improvement in performance, especially in tight
loops.

Change-Id: I4bcf6584a3c145bfc55e73c9c73dcf6199290b3c
2015-06-30 17:58:21 -07:00
Chris Craik
ba3964f48c am 6aa9b4ab: am cf225194: am a763bb83: Merge "Saturate alpha values when overlaying glyphs" into mnc-dev
* commit '6aa9b4abf335d7ecf5c33cc48b41f9f9f8cbd8ab':
  Saturate alpha values when overlaying glyphs
2015-06-30 21:54:52 +00:00
Chris Craik
6aa9b4abf3 am cf225194: am a763bb83: Merge "Saturate alpha values when overlaying glyphs" into mnc-dev
* commit 'cf225194a61db1558ead673fd67365ff9a61f3bb':
  Saturate alpha values when overlaying glyphs
2015-06-30 21:40:41 +00:00
Chris Craik
de25a672b1 Saturate alpha values when overlaying glyphs
bug:19062769

Glyphs were stored to the output buffer with the assumption of
non-overlap, which is incorrect for certain fonts/strings. Instead,
blend src into dst, so new glyphs don't clobber existing content.

Change-Id: I6e22037500e67d5348ee2a43d939416c23c4d1ea
2015-06-30 13:24:18 -07:00
Yusuke Sato
e316ac5e4a am 131b27b7: Merge "resolved conflicts for merge of d3d6e9a3 to mnc-dev-plus-aosp" into mnc-dev-plus-aosp
* commit '131b27b7b105d12d196cf3e719d359daab0c3547':
  Rename ZipEntryName to ZipString
2015-06-29 20:30:04 +00:00
Yusuke Sato
53a19bb967 resolved conflicts for merge of d3d6e9a3 to mnc-dev-plus-aosp
Change-Id: Ie32db11e6c1062df32b16a5cd6fcd219e0bdc017
2015-06-29 13:09:51 -07:00
Yusuke Sato
16d520fce6 Merge "Rename ZipEntryName to ZipString" 2015-06-29 17:49:33 +00:00
Chris Craik
8868e02e2d am 00562d69: am 5805765d: am f8d25ea8: Merge "Don\'t promote functors onto layers due to outline rect clipping" into mnc-dev
* commit '00562d693bfcfa4409977becbbd0db2c8408e291':
  Don't promote functors onto layers due to outline rect clipping
2015-06-26 21:04:48 +00:00
Chris Craik
f8d25ea8eb Merge "Don't promote functors onto layers due to outline rect clipping" into mnc-dev 2015-06-26 20:28:36 +00:00
Chris Craik
b60d3e7856 Don't promote functors onto layers due to outline rect clipping
bug:21320333

Change-Id: Ie70982c88498395148dab6eaca861de66e6207ed
2015-06-25 17:15:17 -07:00
Tenghui Zhu
4540789492 am a1b1effc: am 4b05c5a9: am 5daee1dc: Merge "Limit dotProduct value to 1.0f, so acosf would not return NaN." into mnc-dev
* commit 'a1b1effc1e19d534b25578f5ed4986d3c65c8baa':
  Limit dotProduct value to 1.0f, so acosf would not return NaN.
2015-06-25 22:20:32 +00:00
Yusuke Sato
f162faaa12 Rename ZipEntryName to ZipString
Also add a 4th parameter to StartIteration(). This is for
https://android-review.googlesource.com/#/c/156771/.

Bug: 21957428
Change-Id: Ifbf9aec2f04b214b57e99c306282d7c0d39675a9
2015-06-25 14:58:16 -07:00
Tenghui Zhu
5daee1dc27 Merge "Limit dotProduct value to 1.0f, so acosf would not return NaN." into mnc-dev 2015-06-25 21:45:32 +00:00
Lazar Trsic
1240752c44 Limit dotProduct value to 1.0f, so acosf would not return NaN.
Cherry pick of b561f39d01c211425bfefaaa7b31ebe097e7ba79 from AOSP master.

Due to precision loss of float math, we sometimes get 1.000001f for
dotProduct. This causes NaN result from acosf() and floor() funcs.

At the moment, this does not cause any problems on ARM, as casting
NaN to int results in 0. On mips however (possibly on x86), such cast
gives INT_MAX, so crash occurs when trying to use the resulting value.

Change-Id: I8e0285a0306a65b8469d9f4885c19665066fc4c8
2015-06-25 14:22:13 -07:00
Yusuke Sato
a260032a45 am 4095f643: am 482bcbe5: am 0f61c7dc: Merge "Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files" into mnc-dev
* commit '4095f6432b68a014c9f60943a02f396cc362cf16':
  Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files
2015-06-25 18:14:25 +00:00
Yusuke Sato
0f61c7dcc4 Merge "Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files" into mnc-dev 2015-06-25 17:34:01 +00:00
Lazar Trsic
b561f39d01 Limit dotProduct value to 1.0f, so acosf would not return NaN.
Due to precision loss of float math, we sometimes get 1.000001f for
dotProduct. This causes NaN result from acosf() and floor() funcs.

At the moment, this does not cause any problems on ARM, as casting
NaN to int results in 0. On mips however (possibly on x86), such cast
gives INT_MAX, so crash occurs when trying to use the resulting value.

Change-Id: I8e0285a0306a65b8469d9f4885c19665066fc4c8
2015-06-25 11:11:55 +02:00
Chris Craik
d739b5f39c am ee6d943b: am 46de9f56: am 6659ac77: Merge "Avoid over-damaging layer area for multidraws" into mnc-dev
* commit 'ee6d943b9e13cde263ccb622dd529922dfa1f3b3':
  Avoid over-damaging layer area for multidraws
2015-06-24 18:40:14 +00:00
Chris Craik
6659ac77ed Merge "Avoid over-damaging layer area for multidraws" into mnc-dev 2015-06-24 17:58:01 +00:00
Tom Hudson
02a26300fb Switch framework to new Skia enums
Allow Skia to finish deprecating old path operation enumerations.

Change-Id: I61e4489e639043acb78d47994ab62a31f18bd878
2015-06-24 16:56:43 +00:00
Chris Craik
3375f8ad30 Avoid over-damaging layer area for multidraws
bug:19608961

Change-Id: Ib7495f155da62a352e9a010a362fd40ec0acad21
2015-06-24 09:43:54 -07:00
Tom Hudson
7605fdd466 am d29c9a86: am 5e69713a: am a81a0c86: Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev
* commit 'd29c9a86d2734db66533d6525f64caca57d63808':
  Sync canvas proxy CTM (b/21945972)
2015-06-24 15:23:08 +00:00
Tom Hudson
a81a0c8647 Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev 2015-06-24 14:53:58 +00:00
Tom Hudson
90fb1f6732 Sync canvas proxy CTM (b/21945972)
SkiaCanvasProxy was being created with an identity transform, ignoring
any transform that may have been applied in Java (or C++) to the
android graphics Canvas it was proxy for. This CL makes sure the
DisplayListCanvas transform is propagated to the Proxy every time
asSkCanvas() is called.

We could instead move the code to the SkiaCanvasProxy constructor
if we got rid of the cached proxy on DisplayListCanvas; nobody's
using the proxy heavily enough that that should be a performance
hit at this time.

BUG:21945972
R=djsollen@google.com

Change-Id: I99ed1563802a2449bb9939cb67976cd60dd8611c
2015-06-24 10:43:16 -04:00
Chris Craik
e984230f6b am 0664eb56: am 2c62ad43: am c686757a: Merge "Unify clipping return value behavior - true if not empty" into mnc-dev
* commit '0664eb56abcd4cb5b5e2cd96a1983ea734742b70':
  Unify clipping return value behavior - true if not empty
2015-06-24 00:55:51 +00:00
Chris Craik
c686757a18 Merge "Unify clipping return value behavior - true if not empty" into mnc-dev 2015-06-24 00:12:51 +00:00
Chris Craik
5ec6a2878b Unify clipping return value behavior - true if not empty
bug:22035484

Change-Id: I23ecca38554a60c590181290900deb0e2c48cea1
2015-06-23 15:42:43 -07:00
Chris Craik
05298735d3 am cbd4c6fa: am 3ac8261f: am 0d99d43e: Merge "Dump GL errors and crash on failure to allocate texture for layer" into mnc-dev
* commit 'cbd4c6fa1828da9f16956e897310155ed5c1aff6':
  Dump GL errors and crash on failure to allocate texture for layer
2015-06-23 20:55:19 +00:00
Chris Craik
0d99d43e81 Merge "Dump GL errors and crash on failure to allocate texture for layer" into mnc-dev 2015-06-23 18:01:02 +00:00
Chris Craik
5686bae289 Dump GL errors and crash on failure to allocate texture for layer
bug:22029728

Change-Id: Ib6f778975225b36567b12e30967955640ec185b3
2015-06-23 10:34:54 -07:00
Chris Craik
83be135f48 am 3f3910a9: am d902c813: am 15d8a2bc: Merge "Avoid flushing DisplayListCanvas state for noop calls" into mnc-dev
* commit '3f3910a91a15a63d7700235dc04191f0d7649105':
  Avoid flushing DisplayListCanvas state for noop calls
2015-06-23 03:04:03 +00:00
Yusuke Sato
34fe3df851 Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files
for better performance. Without the optimization, these two functions
may check more than 100k file names in the pre-installed APK files,
which can take a few seconds to finish even on a recent device.

Bug: 21957428
Change-Id: I315fd3c6d5aa1076b993752525de449a9933de12
2015-06-22 16:11:32 -07:00
Chris Craik
772687d242 Avoid flushing DisplayListCanvas state for noop calls
bug:22006795

Change-Id: I2eceee69772b08f5319ea882be429a5b36860b7d
2015-06-22 14:51:18 -07:00
Narayan Kamath
407753c456 ZipFileRO: Use precise widths for zip file types.
getEntryInfo crashes on 64-bit devices because "long" types
were being passed int pointers (that pointed to a stack frame)
that were reinterpret_cast'ed to long* (sigh.). To fix this issue
once and for all, use types with explicitly defined widths.

This change also removes some dead invariant checking from
Asset.cpp instead of cleaning it up.

Note that we've introduced a wart in NativeLibraryHelper, where
we need to deal with zlib's uLong type, which is "at least 32 bits
wide".

bug: 21622286

(cherry picked from commit 4600dd053dbdbd4b95f3b11057a1cc55b99f9c77)

Change-Id: I7886cb37a229cc27c625699c80e6a6a6117d2203
2015-06-17 13:13:16 +00:00