A new fuzzer appears to be complaining about using uninitialized glyph
ids. These uninitilized glyph ids appear to be comming from far up the
stack, but they don't actually get used until much later. If Skia is
passed uninitialized memory in a draw call it will of course eventually
need to use it and be blamed when it does. This change will make it
obvious if the issue is up stack from Skia.
BUG=chromium:750070,chromium:750071,chromium:750072
Change-Id: Ic6ca2f6af3620ad4a31cb017570f42550360891a
Reviewed-on: https://skia-review.googlesource.com/29421
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: I8108f48bb55cfb39532ef05e8e263769ff8fb10f
Reviewed-on: https://skia-review.googlesource.com/29420
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 876aed8758.
Reason for revert: the bots seem to be unhappily red with this CL
Original change's description:
> Revert "Revert "Add support for semaphores to be inserted on GrContext flush""
>
> This reverts commit 8724b46099.
>
> Reason for revert: Creating a test CL to see what happens on the bots
>
> Original change's description:
> > Revert "Add support for semaphores to be inserted on GrContext flush"
> >
> > This reverts commit cd1416efbc.
> >
> > Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths
> >
> > Original change's description:
> > > Add support for semaphores to be inserted on GrContext flush
> > >
> > > This also moves the logic of inserting semaphores down into GrDrawingManager
> > > and finishFlush on GrGpu. With it being on finishFlush, there should be no
> > > issues when the DrawingManager starts respecting the proxy passed in assuming
> > > it always calls finishFlush at the end (which it should).
> > >
> > > Bug: skia:
> > > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7
> > > Reviewed-on: https://skia-review.googlesource.com/25641
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> >
> > Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/25980
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: skia:
> Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c
> Reviewed-on: https://skia-review.googlesource.com/26160
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com
Change-Id: I22fd6febafe70489a5fdb695c6f4263368eb423d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/29422
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Bug: skia:
Change-Id: I0d421874e7ab71a39e2708575314f5b3615882e4
Reviewed-on: https://skia-review.googlesource.com/29221
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
cce8965d2c..878c8b1e5e
ANGLE now crashes (on program compilation) if there isn't a flush between uses of different flavors of ANGLE context (e.g., angle_gl_es2 vs. angle_gl_es3).
Change-Id: If59b6ec683e682db5214bb002a70863cee5fe013
Reviewed-on: https://skia-review.googlesource.com/28865
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 8724b46099.
Reason for revert: Creating a test CL to see what happens on the bots
Original change's description:
> Revert "Add support for semaphores to be inserted on GrContext flush"
>
> This reverts commit cd1416efbc.
>
> Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths
>
> Original change's description:
> > Add support for semaphores to be inserted on GrContext flush
> >
> > This also moves the logic of inserting semaphores down into GrDrawingManager
> > and finishFlush on GrGpu. With it being on finishFlush, there should be no
> > issues when the DrawingManager starts respecting the proxy passed in assuming
> > it always calls finishFlush at the end (which it should).
> >
> > Bug: skia:
> > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7
> > Reviewed-on: https://skia-review.googlesource.com/25641
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/25980
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c
Reviewed-on: https://skia-review.googlesource.com/26160
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
We use several symbols from this library... we currently fail to link.
(The other small changes in here are automatic from gn format.)
BUG=skia:6891
Change-Id: Iec6f5deceecdb61571827ebb502a9f7e7e4a4bef
Reviewed-on: https://skia-review.googlesource.com/29260
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
This reverts commit df0e09feac.
Reason for revert: Experimental revert to see if this is blocking the roll
Original change's description:
> Remove origin field from GrSurface
>
> 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>
TBR=bsalomon@google.com,robertphillips@google.com
Change-Id: Id606aa01e84e2b83be71d833eefca477c1ad0d01
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/29220
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Note that this does not clean up the users of this function, which
may themselves be subject to other overflow issues.
BUG=chromium:728936
Change-Id: I3eaa7627c3b6ff49296ea2618a0157dacdc1d9cc
Reviewed-on: https://skia-review.googlesource.com/29121
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
- add a Debug builder
- add Debug and Release CPU testers on GCE
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-x86_64-Debug,Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug,Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release
Change-Id: I4f2d7309b36a532683f68fbdde9c7a9aaaa861ea
Reviewed-on: https://skia-review.googlesource.com/29023
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
By default it emulates your installed cl.exe, but the bots don't have
one. I think the fallback is 2013, which causes all sorts of pre-C++11
problems.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-x86_64-Release
Change-Id: I2556abe68825e58762b4172d067ba6826de5c133
Reviewed-on: https://skia-review.googlesource.com/29021
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Currently just adding support functions to go back and forth between
GrPixelConfigs and MTLPixelFormats.
Bug: skia:
Change-Id: I01a7d6877ebed87b87090ac2b920fee45dc0e856
Reviewed-on: https://skia-review.googlesource.com/29080
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Remove CanCombine and AreEqual (unused)
Remove isInitialized() now that pipelines are initialized at creation.
Change-Id: Ibacf81d1f879c7ef9ea91a8f471c3d1df3eb2fed
Reviewed-on: https://skia-review.googlesource.com/29020
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Without this patch, the pipeline
1. converts to unpremultiplied
2. applies the sRGB transfer assuming the pixel is premultiplied
In step 2, we should assume the pixel is unpremultiplied.
Bug:738517
Change-Id: Ic11fcf64faa423577ccb1cfc0cfe96feb57db09a
Reviewed-on: https://skia-review.googlesource.com/28404
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
It seems rather implausible that this could be occuring but the Chrome
bug seems to say otherwise.
Bug: 748155
Change-Id: I8e14f1562c71da4ae80d626e4dba053d7ee13d97
Reviewed-on: https://skia-review.googlesource.com/28863
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
BUG=skia:2679
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-x86_64-Release
Change-Id: I861366ae1340abcc67e87041904d08337b465bbe
Reviewed-on: https://skia-review.googlesource.com/28864
Reviewed-by: Eric Boren <borenet@google.com>
This should shut up any warnings in the win toolchain headers?
Change-Id: I7d17bf6d63d56e66afffa557d0ed06bc3994200d
Reviewed-on: https://skia-review.googlesource.com/28981
Reviewed-by: Ben Wagner <bungeman@google.com>
Bug: skia:2679
Change-Id: I7abffae32102a69271b23834a121c51426813e27
Reviewed-on: https://skia-review.googlesource.com/28785
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: chromium:750420
Change-Id: Ie1a62356a3263c440a94ba1fd637c12884465515
Reviewed-on: https://skia-review.googlesource.com/28862
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
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>