Change-Id: I89c944f5ed1e1a9aee5e73c384a53d86fd13d07e
Reviewed-on: https://skia-review.googlesource.com/8683
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Just need to take care to match C symbols with asm symbols. Linux
doesn't add the leading underscore automatically like Mac and Windows.
Change-Id: I488cdfec942b442554ffefdfd006a1305ad77d9d
Reviewed-on: https://skia-review.googlesource.com/8667
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
It's probably best we build iOS assembly with the iOS SDK and the right
architecture settings in Clang...
Change-Id: I68119641b1f86267ca85434b5a7f6ed37838ce23
Reviewed-on: https://skia-review.googlesource.com/8680
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 310f4d02c1.
Reason for revert: Broke uploads
Original change's description:
> Roll Recipe DEPS
>
> BUG=skia:
>
> Change-Id: I3e32207e5809e126d53ee8ec2158eb855c1a26d2
> Reviewed-on: https://skia-review.googlesource.com/8671
> Commit-Queue: Eric Boren <borenet@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>
>
TBR=borenet@google.com,rmistry@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Change-Id: If6eed7a72aa7178afd23d0a4a7786e23b27c1ac2
Reviewed-on: https://skia-review.googlesource.com/8681
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
BUG=skia:
Change-Id: I3e32207e5809e126d53ee8ec2158eb855c1a26d2
Reviewed-on: https://skia-review.googlesource.com/8671
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
A suggestion from from the code review on cl/7614.
TBR=mtklein@google.com
Change-Id: Icfbe08bfe63ac1e21ed56481dc5251c2af5bb96a
Reviewed-on: https://skia-review.googlesource.com/8674
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
The current SkFixed3232 pinning logic in SkClampRange is not safe:
SkFixed3232ToFloat(SkFixed3232Max) and SkFixed3232ToFloat(SkFixed3232Min)
are not exactly representable in float, so they are not good SkTPin
limits.
Use the next representable float value towards zero. Constants computed
with nextafterf(..., 0).
Change-Id: I8e2eb35b22f65077e8ce6055d670d90d2a163bae
Reviewed-on: https://skia-review.googlesource.com/8662
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
This reverts commit 87e7f820f7.
Reason for revert: Failed a test on Mac
Original change's description:
> Add SkTypeface::getVariationDesignPosition.
>
> Allow users to query a typeface's position in variation design space.
>
> Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198
> Reviewed-on: https://skia-review.googlesource.com/7130
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>
TBR=bungeman@google.com,reed@google.com,reviews@skia.org,drott@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ia65792083642dbe9333a62eb75d162931b57cffd
Reviewed-on: https://skia-review.googlesource.com/8670
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Allow users to query a typeface's position in variation design space.
Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198
Reviewed-on: https://skia-review.googlesource.com/7130
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
This reverts commit 2028625f9b.
Reason for revert: not the reason for broken roll.
Original change's description:
> Revert "Take missed opportunity: memset for A8."
>
> This reverts commit 9cee33e631.
>
> Reason for revert: Chrome roll?
>
> Original change's description:
> > Take missed opportunity: memset for A8.
> >
> > Just recently noticed we weren't doing this.
> > It seems to be triggering all the time.
> >
> > Draws the same of course.
> >
> > Change-Id: Ie3d869a05194a5d52d635643eba1c96c8a21ce67
> > Reviewed-on: https://skia-review.googlesource.com/8471
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,msarett@google.com,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I26a3f2b1a9ae9093180e9c5cc61094b239377c17
> Reviewed-on: https://skia-review.googlesource.com/8606
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,msarett@google.com,reed@google.com
NOPRESUBMIT=true
Change-Id: Ib14360c6669abf9dd0c5bd152773b314d094fe72
Reviewed-on: https://skia-review.googlesource.com/8617
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 0462822132.
Reason for revert: Lets revert until the proto is rolled into Skia.
Original change's description:
> CQ config: add gerrit CQAbility verifier.
>
> Goal is to ensure that unreviewed and untrusted code isn't sent through
> CQ to try bots, by accident or through malicious intent.
>
> R=rmistry@google.com
> BUG=chromium:692613
> NOTRY=True
>
> Change-Id: I750be91895f5b77229b8f4a22216f00eaa75f7a0
> Reviewed-on: https://skia-review.googlesource.com/8620
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
>
TBR=rmistry@google.com,reviews@skia.org,tandrii@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:692613
Change-Id: I6d4b821b2a02ef3e097cf68cd8ebfb2b51d4d165
Reviewed-on: https://skia-review.googlesource.com/8663
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
BUG=skia:6227
Change-Id: I997663e49c407e3ec64c8e67a2ca27700d5081b4
Reviewed-on: https://skia-review.googlesource.com/8448
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
TBR=mtklein@google.com
Change-Id: Ib7400f2a3e2af0d8976998e5857c4d2c9cb6dbd0
Reviewed-on: https://skia-review.googlesource.com/7614
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Also update LD_LIBRARY_PATH to include the LIBGL_DRIVERS_PATH.
BUG=skia:
Change-Id: I0b4d3237f8042ac739f184b107f1c85368b71ee2
Reviewed-on: https://skia-review.googlesource.com/8603
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Goal is to ensure that unreviewed and untrusted code isn't sent through
CQ to try bots, by accident or through malicious intent.
R=rmistry@google.com
BUG=chromium:692613
NOTRY=True
Change-Id: I750be91895f5b77229b8f4a22216f00eaa75f7a0
Reviewed-on: https://skia-review.googlesource.com/8620
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Will follow up with Linux, then Android aarch64 and armv7, then iOS, then Windows.
I took some opportunities to refactor.
CQ_INCLUDE_trybots=skia.primary:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug,Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug
Change-Id: Ifcf1edabdfe5df0a91bd089f09523aba95cdf5ef
Reviewed-on: https://skia-review.googlesource.com/8611
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
This reverts commit 9cee33e631.
Reason for revert: Chrome roll?
Original change's description:
> Take missed opportunity: memset for A8.
>
> Just recently noticed we weren't doing this.
> It seems to be triggering all the time.
>
> Draws the same of course.
>
> Change-Id: Ie3d869a05194a5d52d635643eba1c96c8a21ce67
> Reviewed-on: https://skia-review.googlesource.com/8471
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,msarett@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I26a3f2b1a9ae9093180e9c5cc61094b239377c17
Reviewed-on: https://skia-review.googlesource.com/8606
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
The SkArenaAlloc destructor was showing up as hot in profiling,
especially on Linux. The reason is that it was being used
incorrectly: the size estimate was being used as the chunk size. It
turns out that the best performance seems to be achieved with no
initial allocations and a fixed chunk size of 16K, as the CPU path
renderer does.
Also remove some unused code.
(This is a partial re-land of https://skia-review.googlesource.com/c/8560/)
TBR=bsalomon@google.com
Change-Id: I277eb1a6e5718a221974cd694c8a7e481e432ca6
Reviewed-on: https://skia-review.googlesource.com/8561
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This reverts commit e595bbfba6.
Reason for revert: Breaking roll into Chromium.
virtual/gpu/fast/canvas/canvas-arc-circumference-fill.html
virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill.html
https://build.chromium.org/p/tryserver.blink/builders/linux_trusty_blink_rel/builds/5170https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/5170/layout-test-results/results.html
Original change's description:
> GrTessellator (AA): Performance tweaks and cleanup.
>
> The SkArenaAlloc destructor was showing up as hot in profiling,
> especially on Linux. The reason is that it was being used
> incorrectly: the size estimate was being used as the chunk size. It
> turns out that the best performance seems to be achieved with no
> initial allocations and a fixed chunk size of 16K, as the CPU path
> renderer does.
>
> Also, allocate the bisectors used for edge inversions on the
> stack, not the heap. And remove some unused code.
>
> BUG=skia:
>
> Change-Id: I754531c753c9e602713bf2c8bb5a0eaf174bb962
> Reviewed-on: https://skia-review.googlesource.com/8560
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Stephen White <senorblanco@chromium.org>
>
TBR=bsalomon@google.com,senorblanco@chromium.org,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Change-Id: I3cf6495c7345b6e6a79c2cb3a21dc6df0eed122f
Reviewed-on: https://skia-review.googlesource.com/8605
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
This should allow the relanding of:
https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))
Change-Id: I517af11036e3f44a280bbe6b9275f6c38f4a86a4
Reviewed-on: https://skia-review.googlesource.com/8498
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
BUG=chromium:682918
Change-Id: Ib5f935a92f967354be696fb24ba874f3602ebdb4
Reviewed-on: https://skia-review.googlesource.com/8601
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
SkBitmap::eraseRGB is marked as deprecated. After this CL the code
should have the exact same behavior as previously, but without calling
the deprecated function. The presence of this deprecated call is
causing extra warnings in the iOS build.
Change-Id: I0770ca0a7e9884e7122f431a9ed2d3fdb2bbd6f8
Reviewed-on: https://skia-review.googlesource.com/8581
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
vec2 x[3] worked, but vec2[3] x didn't. Interface blocks also did
not work with array sizes.
BUG=skia:
Change-Id: I45b424891db46804f1e3c1f4793470b7b501a6de
Reviewed-on: https://skia-review.googlesource.com/8523
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
The SkArenaAlloc destructor was showing up as hot in profiling,
especially on Linux. The reason is that it was being used
incorrectly: the size estimate was being used as the chunk size. It
turns out that the best performance seems to be achieved with no
initial allocations and a fixed chunk size of 16K, as the CPU path
renderer does.
Also, allocate the bisectors used for edge inversions on the
stack, not the heap. And remove some unused code.
BUG=skia:
Change-Id: I754531c753c9e602713bf2c8bb5a0eaf174bb962
Reviewed-on: https://skia-review.googlesource.com/8560
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Windows needs this as a shim to switch to the System V ABI and back.
Other platforms need it too, if only to make UBSAN happy about calling
functions through the correct function pointers.
One day maybe we can move the looping logic inside start_pipeline?
Change-Id: I47d9ef48752becc6c43fc052b12a540c157bcaaa
Reviewed-on: https://skia-review.googlesource.com/8542
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
It's unclear what this test should be -- or even if it's valid any more.
Change-Id: I62b5d99ad19c9b2813ef5a3c34c9b11991c01c5f
Reviewed-on: https://skia-review.googlesource.com/8494
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Just recently noticed we weren't doing this.
It seems to be triggering all the time.
Draws the same of course.
Change-Id: Ie3d869a05194a5d52d635643eba1c96c8a21ce67
Reviewed-on: https://skia-review.googlesource.com/8471
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
mad (Multiply-anD-Add) conveys the desired behavior better than fma...
we don't particularly care about the fusedness of the mad, only that
we're doing the fastest multiply-add available.
This also avoids conflicts with fma() that may be defined in <math.h>.
Change-Id: I9298ce9ff6c6aa5b7798ac446eea248ab035625f
Reviewed-on: https://skia-review.googlesource.com/8543
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
If there's a reflection in the matrix, the scales
could be negative.
BUG=chromium:682918
Change-Id: Ifde42c3bc8b1f2938009b47d3a8380cf871448e9
Reviewed-on: https://skia-review.googlesource.com/8541
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
No real change here.
Change-Id: I56449c292585038901d78902e6aeb68203e36351
Reviewed-on: https://skia-review.googlesource.com/8476
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
BUG=skia:
Change-Id: Ic4bce28f4bc45f73cbfcacc3630140d11fa9c41f
Reviewed-on: https://skia-review.googlesource.com/8530
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
This reverts commit 957cf45949.
Reason for revert: crashes
Original change's description:
> Turn on SkJumper except on Windows.
>
> ...only for our local testing. No Skia users should be affected yet.
>
> Change-Id: If1c46efe418458f747aafd6be8e2ae799c74b1c4
> Reviewed-on: https://skia-review.googlesource.com/8470
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Id27f51c3b9356471b3178bbd63b021bd67a1d6fb
Reviewed-on: https://skia-review.googlesource.com/8477
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Corresponds with Android change
https://android-review.googlesource.com/#/c/326439/
"this version includes encoder and performance improvements"
Update build file
* Many files have been renamed from
src/<subdir>/<name>.c
to
src/<subdir>/<name>_<subdir>.c
* Build new files (*_msa.c, *_neon.c, predictor_enc.c)
This should fix issue 5876, which was caused by a compiler bug.
With the added NEON implementation, we will no longer trigger
the bug.
BUG=skia:5876
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS
Review-Url: https://codereview.chromium.org/2689283007