Commit Graph

36937 Commits

Author SHA1 Message Date
Hal Canary
c2d0fb17de include: whitespace changes for clang-format
Change-Id: I76ab59d963cebf6cbb450e1873c3e0c63f3f2da0
Reviewed-on: https://skia-review.googlesource.com/155560
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-09-19 14:54:57 +00:00
Mike Klein
9e7f50435c Revert "Reland "implement SkPixmap::getPixel() with this->readPixels().""
This reverts commit 1d6281d4bb.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Reland "implement SkPixmap::getPixel() with this->readPixels()."
> 
> This is a reland of 0944ae8afb
> 
> Original change's description:
> > implement SkPixmap::getPixel() with this->readPixels().
> > 
> > Yet another big old switch statement I don't want to maintain.
> > 
> > Once again, I think this at least makes it explicit that we're
> > returning an SkColor in the colorspace of the pixmap.
> > 
> > Change-Id: I34aa7312c0a1670910586fc5a4b1951275e73e2e
> > Reviewed-on: https://skia-review.googlesource.com/154864
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
> 
> Change-Id: I07b0b11922a393072961edc7771d7a972ca1fd13
> Reviewed-on: https://skia-review.googlesource.com/155166
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: I79bb37236a0a51097e1ab3bea9b5895adc974045
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155561
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-19 14:39:31 +00:00
Hal Canary
27c8404d87 IWYU: three files
Change-Id: I7d4fefeafce06145818c607b28b30887a52acc74
Reviewed-on: https://skia-review.googlesource.com/155501
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-09-19 14:21:55 +00:00
Brian Salomon
f723264833 Revert "Revert "Reland "Add ability to specify different GP textures for each mesh in a draw."""
This reverts commit cd7907b57d.

Readds optimization to draw single texture quads using GrPrimitiveType::kTriangles, non-indexed.

Removes disable on NVIDIA/VK as bounds issue was fixed here:
https://skia.googlesource.com/skia/+/c525d4f7101715d728fca1b7fd7f170115994646

Change-Id: Icbea3de0382c68318db8ecffb2244bc4c5fe84ad
Reviewed-on: https://skia-review.googlesource.com/155500
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-09-19 13:42:06 +00:00
skia-autoroll
19b674c5d4 Roll third_party/externals/angle2 dc8fb9374e0a..5c72f28d1a3f (1 commits)
dc8fb9374e..5c72f28d1a


git log dc8fb9374e0a..5c72f28d1a3f --date=short --no-merges --format='%ad %ae %s'
2018-09-19 jgilbert@mozilla.com Remove unused include global_state.h from validationEGL.cpp.


Created with:
  gclient setdep -r third_party/externals/angle2@5c72f28d1a3f

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=reed@google.com

Change-Id: Ia85aae9d0407525ce034164a5774d04c99efcd73
Reviewed-on: https://skia-review.googlesource.com/155460
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-19 13:21:35 +00:00
skia-autoroll
0ff03808e3 Roll third_party/externals/angle2 0fdb956d9c24..dc8fb9374e0a (6 commits)
0fdb956d9c..dc8fb9374e


git log 0fdb956d9c24..dc8fb9374e0a --date=short --no-merges --format='%ad %ae %s'
2018-09-19 ynovikov@chromium.org Revert "Add FastVector for simple dynamic vector cases."
2018-09-19 jie.a.chen@intel.com Improve dirtybits for compute
2018-09-19 jie.a.chen@intel.com ParallelCompile: Parallelize shader translation
2018-09-18 jmadill@chromium.org Add FastVector for simple dynamic vector cases.
2018-09-18 jmadill@chromium.org Log Renderer string on Android displays.
2018-09-18 jmadill@chromium.org More binding inlining.


Created with:
  gclient setdep -r third_party/externals/angle2@dc8fb9374e0a

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=reed@google.com

Change-Id: Ic49081c0f227017ea562e8caed49b467e89cee54
Reviewed-on: https://skia-review.googlesource.com/155421
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-19 03:27:55 +00:00
Ben Wagner
774b566c13 Revert "Reland "implement SkPixmap::erase() with draws""
This reverts commit 4a9631c186.

Reason for revert: Chrome for Android in roll?
https://chromium-review.googlesource.com/c/chromium/src/+/1231494

Original change's description:
> Reland "implement SkPixmap::erase() with draws"
> 
> This is a reland of 42f29f1181
> 
> The original had to be reverted because of a buggy Chromium unit test,
> now fixed.  I also took the opportunity to implement this with SkDraw
> rather than SkCanvas.
> 
> Original change's description:
> > implement SkPixmap::erase() with draws
> >
> > I don't want to have to maintain yet another switch on SkColorType.
> >
> > This should also make color management a bit clearer?
> >
> > Change-Id: I1508e0c30670b1987972f7eeba2dd6d23591c531
> > Reviewed-on: https://skia-review.googlesource.com/154862
> > Commit-Queue: Mike Klein <mtklein@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> Change-Id: I6bc071e8a6025723d47f2ad5f6fb7f8fa5dccc2b
> Reviewed-on: https://skia-review.googlesource.com/155240
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com,reed@google.com

Change-Id: I1ce2ae01253e95da28f7d5b4bd82b59775e9fef8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155403
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-18 21:22:42 +00:00
Kevin Lubick
c03a86affc [CanvasKit] Add docs
No-Try: true
Docs-Preview: https://skia.org/?cl=155400
Bug: skia:
Change-Id: I08b14ffa569b2bff81287f854c493a4cedabb5bb
Reviewed-on: https://skia-review.googlesource.com/155400
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-09-18 20:31:05 +00:00
Nigel Tao
81125c5643 Remove duplicate BUILD.gn configuration
There's another `if (skia_llvm_path != "")` about 40 lines down.

Bug: skia:
Change-Id: I490c0972367d0042e5f87868c0640cc106f6f6c2
Reviewed-on: https://skia-review.googlesource.com/154260
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-09-18 19:48:32 +00:00
Ben Wagner
d6931bb014 Work around FreeType issue with bitmap font and autohinter.
If a ttf font is bitmap only and autohinting is used and the no-bitmap
flag is used FreeType may return an empty outline glyph instead of
producing an error or a non-outline glyph. The way to work around this
at the moment is to first check if the face supports outlines. If it
does not then assume there is no outline.

Bug: skia:7878
Change-Id: I8f5c394f27fb2a55a359f2bdc55f957427f334bd
Reviewed-on: https://skia-review.googlesource.com/155362
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-18 19:16:02 +00:00
Cary Clark
6dcbb90025 fix conic fuzz
Avoid divide by zero in conic divide.
If the control point z value is zero, resulting
conic will have no weight, and control point value
will not affect conic; so any non-zero value will
work to avoid the zero divide.

R=kjlubick@google.com

Bug: oss-fuzz:10157
Change-Id: Ia0456ff6028559b4e1040725fea5f8bf4717e192
Reviewed-on: https://skia-review.googlesource.com/155320
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-09-18 18:29:31 +00:00
skia-autoroll
5103aa3d74 Roll third_party/externals/angle2 95277a300f52..0fdb956d9c24 (1 commits)
95277a300f..0fdb956d9c


git log 95277a300f52..0fdb956d9c24 --date=short --no-merges --format='%ad %ae %s'
2018-09-18 jmadill@chromium.org Re-land "Inline and micro-optimize more for perf tests.""


Created with:
  gclient setdep -r third_party/externals/angle2@0fdb956d9c24

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=reed@google.com

Change-Id: I4d53c9e1063f6827f772c9c29ceb8195c620f8db
Reviewed-on: https://skia-review.googlesource.com/155260
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-18 18:27:02 +00:00
Mike Klein
4a9631c186 Reland "implement SkPixmap::erase() with draws"
This is a reland of 42f29f1181

The original had to be reverted because of a buggy Chromium unit test,
now fixed.  I also took the opportunity to implement this with SkDraw
rather than SkCanvas.

Original change's description:
> implement SkPixmap::erase() with draws
>
> I don't want to have to maintain yet another switch on SkColorType.
>
> This should also make color management a bit clearer?
>
> Change-Id: I1508e0c30670b1987972f7eeba2dd6d23591c531
> Reviewed-on: https://skia-review.googlesource.com/154862
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Change-Id: I6bc071e8a6025723d47f2ad5f6fb7f8fa5dccc2b
Reviewed-on: https://skia-review.googlesource.com/155240
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-18 17:39:00 +00:00
Robert Phillips
0790f8a471 Fix DDL reattachment of uniquely keyed proxies
This fix has three parts:
   No longer clear all proxy unique keys in DDL mode
   Handle unique keys appropriately in lazy proxy instantiation
   Handle attaching to cached surfaces for non-lazy proxies

Change-Id: I86b0422a784acaf8c5f9b67cb981b440e08352de
Reviewed-on: https://skia-review.googlesource.com/154502
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-09-18 17:33:30 +00:00
Robert Phillips
869fe56c30 Revert "Suppress addition of changeListeners during DDL recording"
This should no longer be required with the addition of https://skia-review.googlesource.com/c/skia/+/154861/ (Make atomic lists list for bitmaps and paths)

Bug: skia:8324
Change-Id: I2177fe16ea8b049f36c5d3d5a17ea2c69ce42eca
Reviewed-on: https://skia-review.googlesource.com/154980
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-18 17:08:58 +00:00
Mike Klein
0191ed8e87 Make listener lists threadsafe with a mutex.
PS1 reverts commit 6c8d242b14.
PS2 uses an SkMutex for thread safety.

Change-Id: I9318f92cc028844b3dc5a99a00282c2762057895
Reviewed-on: https://skia-review.googlesource.com/155060
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-18 15:46:26 +00:00
Brian Salomon
279f873faa Fix image_from_yuv_textures with --preAbandonContext
Change-Id: Ibb2dfdf6eccb48fbd2c4a503e473170389e2ec2a
Reviewed-on: https://skia-review.googlesource.com/155169
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-09-18 15:42:50 +00:00
Mike Klein
1d6281d4bb Reland "implement SkPixmap::getPixel() with this->readPixels()."
This is a reland of 0944ae8afb

Original change's description:
> implement SkPixmap::getPixel() with this->readPixels().
> 
> Yet another big old switch statement I don't want to maintain.
> 
> Once again, I think this at least makes it explicit that we're
> returning an SkColor in the colorspace of the pixmap.
> 
> Change-Id: I34aa7312c0a1670910586fc5a4b1951275e73e2e
> Reviewed-on: https://skia-review.googlesource.com/154864
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I07b0b11922a393072961edc7771d7a972ca1fd13
Reviewed-on: https://skia-review.googlesource.com/155166
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-18 15:15:37 +00:00
Florin Malita
beb8300d19 [skottie] Fix NaN |t| in CompTimeMapper::onTick
Catch infinite time scale values at construction time.

Bug: skia:8381
Change-Id: I538c5bd0a75b080856ec39b3e94e2a303bb9a289
Reviewed-on: https://skia-review.googlesource.com/155167
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-09-18 14:59:31 +00:00
Florin Malita
217d4a556b [skottie] UBSAN divide-by-zero workaround
Use sk_ieee_float_divide to silence UBSAN.

(note: the result is already checked to be finite)

Bug: skia:10041
Change-Id: I97d1d6f84926b7162ed636be7afd052ca42d8e81
Reviewed-on: https://skia-review.googlesource.com/155165
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-18 14:28:53 +00:00
Mike Klein
afa35022d9 centralize RP loads and stores
This gets all the main places we set up loads and stores in
SkRasterPipeline.  Some tests and benches still use the old
generic append() method, and I think that's fine, and same
with some of the image codec code.

Change-Id: Ia27f106887f1a8d95d76e2366c17ab30eec504c1
Reviewed-on: https://skia-review.googlesource.com/154868
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-18 13:06:29 +00:00
Mike Klein
9ec77b5574 Revert "implement SkPixmap::erase() with draws"
This reverts commit 42f29f1181.

Reason for revert: Chrome roll?

Original change's description:
> implement SkPixmap::erase() with draws
> 
> I don't want to have to maintain yet another switch on SkColorType.
> 
> This should also make color management a bit clearer?
> 
> Change-Id: I1508e0c30670b1987972f7eeba2dd6d23591c531
> Reviewed-on: https://skia-review.googlesource.com/154862
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: Ic05f49db7c3dd2c73a53622411e7f8d0f90773a9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155161
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-18 12:20:04 +00:00
Cary Clark
cdc371af3e fix bookmaker
add docs for new SkImage methods

Also, the tool slightly adjusted the spacing
for the include comments, and fixed a few references.

TBR=bsalomon@google.com

Docs-Preview: https://skia.org/?cl=155160
Bug: skia:
Change-Id: I7977ca3048bd7d0c23f84db19f62f7accdcd77bb
Reviewed-on: https://skia-review.googlesource.com/155160
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-09-18 11:58:35 +00:00
skia-autoroll
f533d8a23a Roll third_party/externals/angle2 a49f60fee74d..95277a300f52 (3 commits)
a49f60fee7..95277a300f


git log a49f60fee74d..95277a300f52 --date=short --no-merges --format='%ad %ae %s'
2018-09-18 jie.a.chen@intel.com ES31: Add DispatchComputeIndirect support for D3D11
2018-09-17 courtneygo@google.com Fix AndroidManifest package name
2018-09-17 ynovikov@chromium.org Revert "Inline and micro-optimize more for perf tests."


Created with:
  gclient setdep -r third_party/externals/angle2@95277a300f52

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=reed@google.com

Change-Id: I51bbc3edb3c4871628caf6268bb147dba439880c
Reviewed-on: https://skia-review.googlesource.com/155120
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-18 04:19:17 +00:00
Brian Salomon
d2fcfb5813 WEBGL_video_texture : sharing texture prototype in skia
Bug: 776222

Change-Id: I84c81bdaa6dc0b5548f116a28c6319e601effb32
Reviewed-on: https://skia-review.googlesource.com/146695
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Kenneth Russell <kbr@google.com>
2018-09-18 02:22:00 +00:00
Mike Klein
29a49bd220 Revert "implement SkPixmap::getPixel() with this->readPixels()."
This reverts commit 0944ae8afb.

Reason for revert: Chrome roll?

Original change's description:
> implement SkPixmap::getPixel() with this->readPixels().
> 
> Yet another big old switch statement I don't want to maintain.
> 
> Once again, I think this at least makes it explicit that we're
> returning an SkColor in the colorspace of the pixmap.
> 
> Change-Id: I34aa7312c0a1670910586fc5a4b1951275e73e2e
> Reviewed-on: https://skia-review.googlesource.com/154864
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: I827491cc047645876d5b7d5ac0067d266252f7ef
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155040
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-17 23:28:56 +00:00
Mike Klein
f19e3f48b5 simplify src->dst matrix init
src->toXYZD50() and dst->fromXYZD5() always work now.

And if they've somehow got a non-3x3 matrix, fine...  we'll just handle
it wrong.  It's better to initialize the src->dst 3x3 with what we've
got and ignore the outer row and column than to leave it uninitialized
or zero or identity.

Bug: oss-fuzz:10305

Change-Id: I1904a4e297758412a1cc442e88a45b5ec2be9fb5
Reviewed-on: https://skia-review.googlesource.com/154867
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-17 22:59:39 +00:00
Herb Derby
6c8d242b14 Make atomic lists list for bitmaps and paths
Make the listner list for bitmas and paths use a simple atomic
stack. This stack implementation does not have the ABA problem
because you can only pop the entire stack at once
with exchange(nullptr).

BUG=skia:8324

Change-Id: I7b0438a42c473b36cd4b0cbf236bf1692c5afab3
Reviewed-on: https://skia-review.googlesource.com/154861
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-09-17 20:54:06 +00:00
Brian Osman
90d2d9381e Revert "Add Short4 vertex attributes, and benchmark them as 4.12 colors"
This reverts commit d2ca0473f6.

Reason for revert: Various bots failing.

Original change's description:
> Add Short4 vertex attributes, and benchmark them as 4.12 colors
> 
> This is likely our best widely portable option for encoding wide gamut
> colors that doesnt sacrifice too much performance. The benchmark uses
> them as we're likely to do: 4.12 fixed point, in the destination color
> space. We're using SINT vertex attributes for simplicity, so the encode
> and decode are simple multiply/divide by 4096.
> 
> Bug: skia:
> Change-Id: I9b544f3e187b775d81f83dc9dd44611570ad33c2
> Reviewed-on: https://skia-review.googlesource.com/155001
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=mtklein@google.com,bsalomon@google.com,brianosman@google.com

Change-Id: I921e29cf9a121c5752ec7d99a03470b5193afd4a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/154883
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-17 20:41:30 +00:00
Brian Osman
d2ca0473f6 Add Short4 vertex attributes, and benchmark them as 4.12 colors
This is likely our best widely portable option for encoding wide gamut
colors that doesnt sacrifice too much performance. The benchmark uses
them as we're likely to do: 4.12 fixed point, in the destination color
space. We're using SINT vertex attributes for simplicity, so the encode
and decode are simple multiply/divide by 4096.

Bug: skia:
Change-Id: I9b544f3e187b775d81f83dc9dd44611570ad33c2
Reviewed-on: https://skia-review.googlesource.com/155001
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-17 20:19:07 +00:00
Brian Salomon
c525d4f710 When merging into an already chained op update the head's op bounds.
Also assert in GrRenderTargetOpList that chained ops' bounds are
contained in head op's bounds.

Change-Id: I70303ecfbb314d7d04d03f6ae6eae27e9956a7ce
Reviewed-on: https://skia-review.googlesource.com/154981
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-09-17 20:10:27 +00:00
Ben Wagner
9d289e2775 Use onOnceBeforeDraw instead of constructor for glyphs.
The PathText samples extracted glyph paths in the constructor, which
means that this is done when the sample is created instead of when it is
actually going to be drawn. This interferes with debugging other
samples, so delay extracting the glyph paths until onOnceBeforeDraw.

Change-Id: I342cc728b79426203273e5a19fb5ba3718c50fd6
Reviewed-on: https://skia-review.googlesource.com/155000
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-17 19:52:27 +00:00
Kevin Lubick
bc9a1a837d Make fuzz::next overloads more consistent
Some oss-fuzz bugs (like the linked one) would not reproduce
in Skia proper due to the fact that there were subtle overloads
of the various Fuzz::next() methods in FuzzCanvas.cpp that
were pulled in in Skia proper, but not oss-fuzz.

This puts all of them in to FuzzCommon.h and makes the
matrix and rrect ones opt-in (fuzz_matrix, fuzz_rrect).

Additionally, this renames fuzz.cpp -> FuzzMain.cpp so we
can properly include Fuzz.cpp in oss-fuzz without
having two mains.

Bug: oss-fuzz:10378
Change-Id: I6cf9afb471781b9fadb689482109a1e5662358b5
Reviewed-on: https://skia-review.googlesource.com/154900
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-17 19:20:51 +00:00
skia-autoroll
9947752efc Roll third_party/externals/angle2 017bda429667..a49f60fee74d (3 commits)
017bda4296..a49f60fee7


git log 017bda429667..a49f60fee74d --date=short --no-merges --format='%ad %ae %s'
2018-09-17 till.rathmann@gmx.de D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers
2018-09-17 jmadill@chromium.org Inline and micro-optimize more for perf tests.
2018-09-17 jie.a.chen@intel.com Squash State dirty bits for CHROMIUM_path_rendering


Created with:
  gclient setdep -r third_party/externals/angle2@a49f60fee74d

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=reed@google.com

Change-Id: I52d81a5cfeb3d815b1060fdf5a26ef6ba8ef2a6a
Reviewed-on: https://skia-review.googlesource.com/154960
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-17 19:16:50 +00:00
Chinmay Garde
d92d035e00 Allow users of Skia to optionally link against X11 and GL on Linux.
Change-Id: Id46986c0c7865d1877766e1584550e0b9e1af6c2
Reviewed-on: https://skia-review.googlesource.com/154803
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-17 19:15:49 +00:00
Mike Klein
0944ae8afb implement SkPixmap::getPixel() with this->readPixels().
Yet another big old switch statement I don't want to maintain.

Once again, I think this at least makes it explicit that we're
returning an SkColor in the colorspace of the pixmap.

Change-Id: I34aa7312c0a1670910586fc5a4b1951275e73e2e
Reviewed-on: https://skia-review.googlesource.com/154864
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-17 18:28:24 +00:00
Mike Klein
42f29f1181 implement SkPixmap::erase() with draws
I don't want to have to maintain yet another switch on SkColorType.

This should also make color management a bit clearer?

Change-Id: I1508e0c30670b1987972f7eeba2dd6d23591c531
Reviewed-on: https://skia-review.googlesource.com/154862
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-17 18:09:26 +00:00
Jim Van Verth
6bdfebeb15 Some more shadow cleanup
Bug: oss-fuzz:10382, oss-fuzz:10399
Change-Id: Ifc3d70fd9f0eb6fb2a862dfd5b087167575330cf
Reviewed-on: https://skia-review.googlesource.com/154821
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-09-17 17:42:34 +00:00
Mike Klein
62bd12f723 add a couple bitmap cases to P3 GM
This checks drawBitmap() and a few ways to create P3 bitmaps.

Change-Id: I6f891c641a44249d7562f2f5ddeed8cbaa40ad40
Reviewed-on: https://skia-review.googlesource.com/154863
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-17 17:33:23 +00:00
Herb Derby
c03716dd76 Fix nullptr deref in cache lookup
An inner function was taking a ptr where almost everything
calling took a ref. All the ref's were ok, but the test was
still passing in a nullptr. Fix API and test.

Change-Id: I5bcb93f52fc1c58f7bb135b5891223ed863eaede
Reviewed-on: https://skia-review.googlesource.com/154860
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-17 17:14:26 +00:00
Mike Klein
581cf0dfc6 erase _every_ row of F32 SkPixmaps
We're doing a really thorough job of erasing the first row now.
Yet another piece of code that should probably be a draw.

Bug: oss-fuzz:9120

Change-Id: Icd62c3ba3df127f0b89731ec004109c1b0144fc5
Reviewed-on: https://skia-review.googlesource.com/154880
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-17 17:07:05 +00:00
Brian Osman
499bf1a599 Add half-float vertex attribute caps bit and benchmark
Updates the existing vertex color bench with a half-float mode.
Vanilla GL2/ES2 don't have half-float attributes. The extension
(OES_vertex_half_float) uses a different enum value for the type
parameter. For now, just support GL3/ES3. Otherwise, we could
add a check in GrGLGpu::setupGeometry to re-map GL_HALF_FLOAT
to GL_HALF_FLOAT_OES, based on caps?

Bug: skia:
Change-Id: I1325087db4e615023cceffe1c5b051232769d0ac
Reviewed-on: https://skia-review.googlesource.com/154822
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-17 17:05:35 +00:00
Ben Wagner
4c709a2fab [infra] Marker for IntelBayTrail BIOS update.
No-Try: true
Change-Id: I040cfa4f46ed2cf10535eb1782d72f0a2f3b1bcc
Reviewed-on: https://skia-review.googlesource.com/154881
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-09-17 16:47:35 +00:00
Chris Dalton
49ec21d7cc ccpr: Don't require flat interpolation
This requirement should have been removed at the time we switched to

Interpolation::kCanBeFlat.
Bug: skia:
Change-Id: I0b6d548e8a0fa691bb94d8169ba1c1c064f8f61d
Reviewed-on: https://skia-review.googlesource.com/154848
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-09-17 16:02:18 +00:00
Herb Derby
48415e96cf Simplify descriptors and thighten context lifetime
This should have the same context lifetimes as the orignal
(Khushal's) code. This still works with the shared
GPU/Remote rendering framework.

BUG=chromium:879321

Change-Id: I5e346b2c2eb5868d7b37b08ba769f0e52d29f185
Reviewed-on: https://skia-review.googlesource.com/153740
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-09-17 15:15:01 +00:00
Ben Wagner
17d1896a44 Update OS on GalaxyS7.
Change-Id: Iee1dbb2f008a4b79f7c213016ff97b9b50fbd673
Reviewed-on: https://skia-review.googlesource.com/154500
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-09-17 14:49:05 +00:00
Robert Phillips
736f83c307 Always reset the SkPathRef's RRect and Oval-ness flags in growForVerb and growForRepeatedVerb
Follow up change to https://skia-review.googlesource.com/c/skia/+/154629 (Make a moveTo after an SkPath::addRRect invalidate the rrect-ness of the path)

Change-Id: Id546aa576bfab6773a9e17d695fe5f1d2f60f66e
Reviewed-on: https://skia-review.googlesource.com/154820
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-17 14:24:48 +00:00
Robert Phillips
8dce87a936 Cleanup SkCornerPathEffect a bit
Change-Id: I960362c8253506e254923224d5d87b79e3e0b5b2
Reviewed-on: https://skia-review.googlesource.com/154631
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-09-17 14:24:19 +00:00
Robert Phillips
68408df01e Make a moveTo after an SkPath::addRRect invalidate the rrect-ness of the path
For posterity:

Prior to this CL, after we added a round rect to a path, the subsequent addition of moveTos didn't invalidate the 'round-rect-ness' of that path.
This caused trouble later when we tried to extract the RRect from the path.
The addition of the moveTos altered the bounds of the path (so the rect portion of the returned RRect was incorrect) and, bc the bounds were used to determine which corner each conic represented (to extract the radii), the extracted radii were incorrect.

To make this more concrete, here is the rrect that went in:
		fLeft	7.49565078e-27	float
		fTop	5.01922015e+33	float
		fRight	5.13968144e+36	float
		fBottom	5.02191391e+33	float
-	fRadii
+		[0]	{fX=0.000000000 fY=0.000000000 }	SkPoint
+		[1]	{fX=0.000000000 fY=0.000000000 }	SkPoint
+		[2]	{fX=1.92122573e+10 fY=10069.3330 }	SkPoint
+		[3]	{fX=0.000000000 fY=0.000000000 }	SkPoint

and here is the rrect that came out:

		fLeft	0.000000000	float
		fTop	0.000000000	float
		fRight	5.13968144e+36	float
		fBottom	5.02191391e+33	float
-	fRadii
+		[0]	{fX=0.000000000 fY=0.000000000 }	SkPoint
+		[1]	{fX=0.000000000 fY=0.000000000 }	SkPoint
+		[2]	{fX=0.000000000 fY=0.000000000 }	SkPoint
+		[3]	{fX=0.000000000 fY=0.000000000 }	SkPoint

where the additional moveTos all moved to (0.0f, 0.0f)

Change-Id: I8c98d83f8a483d14104f80ac4e22963949f19fe4
Reviewed-on: https://skia-review.googlesource.com/154629
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-17 13:23:59 +00:00
Robert Phillips
389dc1166f Fix SkRRect::setRectXY case where rescaling results in a rect
In the observed fuzzer case the rescale was forcing both the xRadius and the yRadius to zero. The type validation was then failing since the RRect should've been a rect.

Change-Id: I73abcca4ced7bb3dfd74141af2f28051175d574d
Reviewed-on: https://skia-review.googlesource.com/154633
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-17 13:17:20 +00:00