1) Run python bin/fetch-clang-win
2) Set clang_win = "../bin/clang_win"
3) ???
4) Profit
Most changes here are to pass the right -mfoo flags to Clang
to enable advanced instruction sets, or fixed warning-as-errors.
BUG=skia:2679
Change-Id: Ieed145d35c209131c7c16fdd3ee11a3de4a1a921
Reviewed-on: https://skia-review.googlesource.com/28740
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Stroking has some debug code that is examined
by StrokerTest.cpp; this test is not thread-safe.
Chrome detects this in TSAN, so disable the
test code in SkStroker.cpp the same way it
is disabled in StrokerTest.cpp
R=bsalomon@google.com
Bug: 749315
Change-Id: I6e424648b4d28509789e3e4123112e0fc95e34ed
Reviewed-on: https://skia-review.googlesource.com/28780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
Bug: skia:6556
Change-Id: Iebe8b30de70685f56b795521ccc2242b0682000b
Reviewed-on: https://skia-review.googlesource.com/28660
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
try removing self references in method definitions.
If this creates awkward wording, it can always be allowed
in another CL. Also tighten rules for identifying function
references in include comments.
R=briansoman@google.com, caryclark@google.comTBR=reed@google.com
Bug: skia:6898
Change-Id: I1a0e6b2a76dacfe71d134deb4589fb74e6611a03
Reviewed-on: https://skia-review.googlesource.com/28624
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
This mainly consists of rm origin from GrSurface and the wrapBackEnd*
methods and then re-adding an explicit origin parameter to all the
GrGpu methods that need it.
Change-Id: Iabd79ae98b227b5b9409f3ab5bbcc48af9613c18
Reviewed-on: https://skia-review.googlesource.com/26363
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: Iec5725d594cc4726ac72526a1cc62f48e35b6647
Reviewed-on: https://skia-review.googlesource.com/28640
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Bug: skia:6880
Change-Id: Ia8b94e52eec3feb5104d2351bf7a7e6f99101deb
Reviewed-on: https://skia-review.googlesource.com/26370
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: chromium:749472
Change-Id: I709889dd6bb06032e30cbf820ca67e7534cfac58
Reviewed-on: https://skia-review.googlesource.com/28540
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Fix 'arcs' at sentence start to Arcs.
This fix corrected other capitalizations as well,
and exposed some mis-capitalizations in the bmh
doc.
R=brianosman@google.comTBR=reed@google.com
Bug: skia:
Change-Id: I4d51388556f7e8ff868a9236ce76745915560327
Reviewed-on: https://skia-review.googlesource.com/28241
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Hoist the matrix setup into SkGradientShaderBase.
Drop the bool return for adjustMatrixAndAppendStages(), and rename to
appendGradientStages().
Change-Id: Iad412f638f86223e5af46a7d3dea6f768f52bcad
Reviewed-on: https://skia-review.googlesource.com/26427
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
We can catch the condition at construction time, no need to defer.
Change-Id: I973b9e1b79998e2b334e3a91694c793882dfd65a
Reviewed-on: https://skia-review.googlesource.com/26564
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
The earlier CL doesn't change the flag definition so it's not
turned on yet.
Bug: skia:
Change-Id: Id278ae5fc27d703ab7f6628bed95093d32cd7d0b
TBR: caryclark@google.com, fmalita@chromium.org
Reviewed-on: https://skia-review.googlesource.com/28161
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
ARMv7 can pass 16 floats as function arguments. We've been slicing that
as 8 2-float vectors. This CL switches to 4 4-float vectors.
We'll now operate on 4 pixels at a time instead of 2, at the expense of
keeping the d-vectors (mostly used for blending) on the stack. It'll
be interesting to see how this plays out performance-wise.
One nice side effect is now both ARMv7 and ARMv8 use 4-float NEON
vectors. Most of the code is now shared, with just a couple checks
to use new instructions added in ARMv8.
It looks like we do see a ~15% win:
$ bin/droid out/monobench SkRasterPipeline_srgb 200
Before: 644.029ns
After: 547.301ns
ARMv8: 453.838ns (just for reference)
Change-Id: I184ff29a36499e3cdb4c284809d40880b02c2236
Reviewed-on: https://skia-review.googlesource.com/27701
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
change underscore to space if needed
remove bmh_ prefix
TBR=caryclark@google.com
Bug: skia:
Change-Id: I9d4d29c7ff91d9d29bf8740d163724f371e5e211
Reviewed-on: https://skia-review.googlesource.com/28044
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
The documents were generated by running
tools/bookmaker against docs/*.bmh
No-Try: true
Docs-Preview: https://skia.org/?cl=28002
Change-Id: I7d7dd73cdea4a234c6175646d5b8938e1af3117a
Reviewed-on: https://skia-review.googlesource.com/28002
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Bug: skia:6896
Change-Id: If2ed083703e6300b9d2a86cfb298011bbf54e018
Reviewed-on: https://skia-review.googlesource.com/28180
Reviewed-by: Eric Boren <borenet@google.com>
Also adds testing of copying ImageStorageAccess and ref counts of proxies held by cloned FPs.
Change-Id: Ia23220bf65b4df83d1c874b46d8525cc3540f716
Reviewed-on: https://skia-review.googlesource.com/28004
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This is needed since there are currently no files in the include dir, and
some of our tests that check all the public headers complain if it doesn't
exists.
Bug: skia:6896
Change-Id: I3f70293b64b5096a55d6ba0ea5f4e6ebbfd7f62b
Reviewed-on: https://skia-review.googlesource.com/28003
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
bookmaker is a tool that generates documentation
backends from a canonical markup. Documentation for
bookmaker itself is evolving at docs/usingBookmaker.bmh,
which is visible online at skia.org/user/api/bmh_usingBookmaker
Change-Id: Ic76ddf29134895b5c2ebfbc84603e40ff08caf09
Reviewed-on: https://skia-review.googlesource.com/28000
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
We will then rebase the tests in Google3 before completely removing
SK_NO_ANALYTIC_AA.
Bug: skia:
Change-Id: I47ec0cde78374bd53f7cdf7c0f2f6607ca6c18c2
Reviewed-on: https://skia-review.googlesource.com/27801
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Also use sk_sp for ref management of owned light object.
Change-Id: I2fa8427a9374351996c09f992f74cc83008605f1
Reviewed-on: https://skia-review.googlesource.com/28040
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
The bot was broken in https://skia-review.googlesource.com/c/27800/
Depot Tools' version is just a wrapper which looks for clang-format
under buildtools, which doesn't exist on the bots.
Bug: skia:6893
Change-Id: I32ae6c358735c9971e533064aa50a0e0520dd05a
Reviewed-on: https://skia-review.googlesource.com/28020
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
In https://skia-review.googlesource.com/c/26363/ (Remove origin field from GrSurface) I just passed
an extra GrSurfaceOrigin parameter to all these methods. Besides being verbose this also led to
the "discard" method having an origin (to support the GrVkGpuCommandBuffer). It think this approach
is better and is plausible if the GrGpuCommandBuffer is viewed as an intermediary between the
GrProxy-based Ops and the Gpu.
In isolation this CL doesn't really show why we want to percolate the Proxy down. Once GrSurface
no longer has an origin a lot of the GrGpu methods need it passed in explicitly. By having the
GrGpuCommandBuffer get the proxy it can then pass the origin to GrGpu and removes a layer of
functions with an extra origin parameter.
Change-Id: Ie223fdee930171a32a5923155a0322e9a9c2aaa9
Reviewed-on: https://skia-review.googlesource.com/27980
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:6893
Change-Id: I54480ddd1ad1989661393500044f9164a99ce7b0
Reviewed-on: https://skia-review.googlesource.com/27700
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
The FCLocker lock cannot be held while calling fTFCache::add. The
~SkTypeface_fontconfig method must take the FCLocker lock to destroy its
FcPattern since a typeface may be destroyed by any last owner. However,
fTFCache may be the last owner of some of its cached typefaces, and so a
purge when calling ::add to make space for the new entry may cause a
typeface to be destroyed. As a result, createTypefaceFromFcPattern must
not hold the FCLocker lock when calling fTFCache::add.
Fortunately, the FCLocker lock is only needed to serialize calls into
FontConfig. If acquire and release were free then they would be used
around each individual call to FontConfig. As a result it is fine to
give up the lock at any point in Skia code so long as no FontConfig
calls are made while the FCLocker lock is not held.
Change-Id: I37224d4b38bf88ace482496ce7530c84158d2d2e
Reviewed-on: https://skia-review.googlesource.com/27663
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
https://skia-review.googlesource.com/c/26363 (Remove origin field from GrSurface) is
already too large. This pulls some of the cosmetic changes out for separate review.
Change-Id: I1d8b95522144b2f4cbd916ef38faa3dde6f78087
Reviewed-on: https://skia-review.googlesource.com/27840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I71cf04b12be95a54b7fb47d048ba1f8672ed9a8f
Reviewed-on: https://skia-review.googlesource.com/27760
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Change-Id: I3e993e271cb5e26816d37c70d9ad62acce3ed84c
Reviewed-on: https://skia-review.googlesource.com/27800
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Also removes the hard stop gradient conditional compilation macro.
Change-Id: Idd56b5f3061db063d650a0090406ec192acc0b53
Reviewed-on: https://skia-review.googlesource.com/27661
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit dbce07d803.
Reason for revert: need rebaseline in Google3
Original change's description:
> Remove the temporary flag SK_NO_ANALYTIC_AA
>
> It seems that this temp flag lives for too long...
>
> Bug: skia:
> Change-Id: I48b49af8b7f372abac88a8cd5440def3791e635a
> Reviewed-on: https://skia-review.googlesource.com/27662
> Reviewed-by: Cary Clark <caryclark@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Yuqian Li <liyuqian@google.com>
TBR=caryclark@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com
Change-Id: I35a91923f16f4e1f530fae20599240cde73438b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/27722
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>