Commit Graph

35150 Commits

Author SHA1 Message Date
Herb Derby
9d85d63468 Use SkGlyphRun instead of builder
Move from passing builder down the stack to passing the
object we really want to be the interface down the stack.

Move code that shunts from glyph run style to drawTextPos
to the SkGlyphRun from the builder.

Change-Id: Iefaca69104737ce46c06fbb26dc99996784b2bdb
Reviewed-on: https://skia-review.googlesource.com/135620
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-06-19 19:56:25 +00:00
Timothy Liang
91e260f4db Reland "Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS""
This reverts commit 5540528f81.

Reason for revert: Changed unique pointer to not be static

Original change's description:
> Revert "Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS""
>
> This reverts commit 0513dd8675.
>
> Reason for revert: Still has static initializer.
>
> Original change's description:
> > Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS"
> >
> > This reverts commit cf274da6fa.
> >
> > Reason for revert: removed the static initializer
> >
> > Original change's description:
> > > Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS"
> > >
> > > This reverts commit e6f2ecafaf.
> > >
> > > Reason for revert: breaking chrome roll cause of static initializers
> > >
> > > Original change's description:
> > > > added 565 to 8888 conversion for gpu LCD text rendering for macOS
> > > >
> > > > Bug: skia:
> > > > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c
> > > > Reviewed-on: https://skia-review.googlesource.com/134508
> > > > Commit-Queue: Timothy Liang <timliang@google.com>
> > > > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> > >
> > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com
> > >
> > > Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: skia:
> > > Reviewed-on: https://skia-review.googlesource.com/135000
> > > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > Change-Id: I40c29b73970c55b3579a0169bbad666a798b2348
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/135021
> > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Timothy Liang <timliang@google.com>
>
> TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com
>
> Change-Id: I2632d02adc9ba791e5a55adafe0ad10a63f50073
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/135240
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

Bug: skia:
CQ_INCLUDE_TRYBOTS=luci.chromium.try:android-marshmallow-arm64-rel
Change-Id: Ie4fa0e4f862546068ed4ab818d4956de7175cb3d
Reviewed-on: https://skia-review.googlesource.com/135241
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-06-19 19:56:24 +00:00
Robert Phillips
c994a93b32 Move op memory storage to GrContext (take 2)
TBR=bsalomon@google.com

Change-Id: I4a448694d4114d83cd3a720cfc8bd37de51733d1
Reviewed-on: https://skia-review.googlesource.com/135707
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-06-19 19:51:20 +00:00
Cary Clark
4d75975b70 simplify confusing examples
Docs-Preview: https://skia.org/?cl=135785
Bug: skia:6898
Change-Id: Idf5e44817a86accaa628ea5d7abb47cd2b06d048
Reviewed-on: https://skia-review.googlesource.com/135785
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-06-19 19:51:19 +00:00
Jim Van Verth
796bc1db0e Limit iterations when computing convex inset.
In the worst case we should compare each vertex in the polygon
to the others just once, so we should have at worst n^2 iterations.

Bug: skia:8079
Change-Id: Ic22064e86d6eb08d9165b2feb5050701ec8e9639
Reviewed-on: https://skia-review.googlesource.com/135865
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-06-19 19:36:49 +00:00
Jim Van Verth
99ca453634 Clamp ambient blur radius
Bug: skia:8078
Change-Id: I8a45ce49b236ae0ad4c2176be71011c372c316ce
Reviewed-on: https://skia-review.googlesource.com/135861
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-06-19 19:36:25 +00:00
ziadb
bceddbcb72 SkAR: drawing text, shapes, rotation modes enabled, translating objects
To run this app, you need to create an out directory as such:
bin/gn gen out/arm64 --args='ndk="NDK_PATH" target_cpu="ABI"'

For now, the only supported ABI is arm64

Change-Id: I012f0c6a0550d80a0028f42177d5ca72974d848d
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/130980
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ziad Ben Hadj-Alouane <ziadb@google.com>
2018-06-19 19:10:54 +00:00
Florin Malita
80452bee11 Fold SkJSON into Skia/utils
It's a tiny, core-ish component -- might as well treat as such to
simplify dependencies.

Change-Id: I6f31ce2d151f9a629d88bfc7f15d64891d5150c0
Reviewed-on: https://skia-review.googlesource.com/135780
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-19 18:23:30 +00:00
Ben Wagner
96aa535b78 Remove .bat and .exe from commands where possible.
We expect .BAT and .EXE to be on PATHEXT. Also, although Python
CreateProcess doesn't honor PATHEXT, it will try .EXE. This allows most
commands to be platform-independent, and also resolves the issue with
the cpython package not including python.bat.

No-Tree-Checks: true
Docs-Preview: https://skia.org/?cl=135626
Bug: chromium:852581
Change-Id: Iab4189407df44ff4ad4d37da07ff52414229d397
Reviewed-on: https://skia-review.googlesource.com/135626
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-19 17:29:15 +00:00
Cary Clark
ba61029c5b fix op fuzz timeout
R=kjlubick@google.com
Bug:831647
Change-Id: I003ff28ac40ec81400570310bf6f6f1a08a925e5
Reviewed-on: https://skia-review.googlesource.com/134505
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-06-19 14:06:20 +00:00
angle-skia-autoroll
8be6c33199 Roll third_party/externals/angle2 2dabb4a367c3..7df52383cfdf (1 commits)
2dabb4a367..7df52383cf


git log 2dabb4a367c3..7df52383cfdf --date=short --no-merges --format='%ad %ae %s'
2018-06-19 lucferron@chromium.org Angle: Fix angle::Format's pixelBytes


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

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

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=kjlubick@google.com

Change-Id: I2f5be0801f772e037a19de23da15bfe4d79231d2
Reviewed-on: https://skia-review.googlesource.com/135740
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-06-19 13:53:20 +00:00
Florin Malita
b632df701d Use SkJSONWriter for viewer UI serialization
+ drop JsonCPP dependency.

Bug: skia:
Change-Id: I81539cea6e495fe6d55d155ae49e7ac4a79faad6
Reviewed-on: https://skia-review.googlesource.com/135628
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-19 13:53:00 +00:00
Cary Clark
929e436c98 fix bookmaker files
make edits compile

Next time, could you put me on the review if you are going to
edit bookmaker files? I'm happy to preflight the changes
to see if they break the bots.

Docs-Preview: https://skia.org/?cl=135703
NOTRY=true
Bug: skia:6898
Change-Id: Iae054f19b131e894f73cedda279ee98af99e8c1c
Reviewed-on: https://skia-review.googlesource.com/135703
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-06-19 13:11:30 +00:00
Cary Clark
5607143361 fix fuzzer bugs in pathops
one from clusterfuzz, one from Skia fuzzer

R=kjlubick@google.com
Bug:853938
Change-Id: If456bf45e4d75edecf4e4e8222ddcdaa301455f4
Reviewed-on: https://skia-review.googlesource.com/135701
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-06-19 12:58:00 +00:00
Kevin Lubick
f203078309 Revert "added GrSkSLFP and converted DitherEffect to use it"
This reverts commit dfbfc738a9.

Reason for revert: Seems to be breaking DDL/ASAN bots

Original change's description:
> added GrSkSLFP and converted DitherEffect to use it
>
> Bug: skia:
> Change-Id: I84b71165eab1712355f3c7669cee2d33d259f3df
> Reviewed-on: https://skia-review.googlesource.com/124504
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com

Change-Id: Ic4c3978aaba0391f2f8bb1316a456e3821a3a2f2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/135700
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-06-19 12:23:21 +00:00
Florin Malita
fb3beb0591 [skjson] More short string micro-optimizations
When possible, load 8 chars and mask out the tag and \0 terminator.

~19% faster on a Z840, ~5% faster on a PixelC.

Change-Id: I12d4b7d86c92c887b00f5d2480d3ff05a7042df1
Reviewed-on: https://skia-review.googlesource.com/135624
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-19 02:50:58 +00:00
Mike Reed
74aa9ab51a add new source list in prep for separating imagefilters from other effects
Future Skia CL: https://skia-review.googlesource.com/c/skia/+/135566
Chrome CL: https://chromium-review.googlesource.com/c/chromium/src/+/1105062

Bug: skia:
Change-Id: I0caee985deb38739267b18fd92f3d0cf9454b8cd
Reviewed-on: https://skia-review.googlesource.com/135622
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-06-19 02:27:18 +00:00
angle-skia-autoroll
f20e970137 Roll third_party/externals/angle2 f6fd48fd329f..2dabb4a367c3 (7 commits)
f6fd48fd32..2dabb4a367


git log f6fd48fd329f..2dabb4a367c3 --date=short --no-merges --format='%ad %ae %s'
2018-06-18 geofflang@chromium.org Make a context current when destroying it.
2018-06-18 ehmaldonado@chromium.org Remove DEPS .chromium
2018-06-18 fjhenigman@chromium.org Vulkan: fix third_party path.
2018-06-18 jmadill@chromium.org translator: Store symbol type in TField.
2018-06-18 lucferron@chromium.org SampleApps: Refactor to use cli args the same way
2018-06-18 lucferron@chromium.org Vulkan: Implement conversion to uint16 for drawElements with ubytes
2018-06-18 lucferron@chromium.org Vulkan: Fill in glslang resources with our caps


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

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

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=kjlubick@google.com

Change-Id: Ic45c7072bd5d6a82649185d1469188a48910e796
Reviewed-on: https://skia-review.googlesource.com/135680
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-06-19 02:11:34 +00:00
swiftshader-skia-autoroll
59b6dd3fcb Roll third_party/externals/swiftshader 700a1a67d569..1fa206780108 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/700a1a67d569..1fa206780108


git log 700a1a67d569..1fa206780108 --date=short --no-merges --format='%ad %ae %s'
2018-06-18 sugoi@google.com Fixed size verification assert to include border


Created with:
  gclient setdep -r third_party/externals/swiftshader@1fa206780108

The AutoRoll server is located here: https://swiftshader-skia-roll.skia.org

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:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=kjlubick@google.com

Change-Id: I8c5c4c9adc708edcf2cc7fce0878125344f911b7
Reviewed-on: https://skia-review.googlesource.com/135521
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-06-19 02:11:33 +00:00
Ben Wagner
f08d1d0ce1 Stop using SkTSwap.
Use std::swap instead. It does not appear that any external user
specializes SkTSwap, but some may still use it. This removes all use in
Skia so that SkTSwap can later be removed in a smaller CL. After that
the <utility> include can be removed from SkTypes.h.

Change-Id: If03d4ee07dbecda961aa9f0dc34d171ef5168753
Reviewed-on: https://skia-review.googlesource.com/135578
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-06-19 02:06:31 +00:00
Herb Derby
9372420264 Remove unused drawText code
Change-Id: I3fc236be67b6a3d822d5508de1daa411d00fd5a4
Reviewed-on: https://skia-review.googlesource.com/135574
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-06-19 02:06:30 +00:00
Mike Klein
5045e501d2 Revert "Change how vertex/instance attributes are handled in geometry processors."
This reverts commit 19c1233c44.

Reason for revert: want to make sure Google3 can roll

Original change's description:
> Change how vertex/instance attributes are handled in geometry processors.
> 
> * No longer register vertex/instance attributes on base class, just counts
> 
> * Separate instance and vertex attributes and remove InputRate and offset
> 
> * Make attributes constexpr where possible
> 
> Change-Id: I1f1d5e772fa177a96d2aeb805aab7b69f35bfae6
> Reviewed-on: https://skia-review.googlesource.com/132405
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com

Change-Id: I4800632515e14fbf54af52826928ac915657b59f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/135661
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-06-19 01:41:10 +00:00
Brian Osman
63b3bfb711 Reland "Remove old references to SampleApp"
This reverts commit 3ff2b20057.

Reason for revert: Infra fires are out.

Original change's description:
> Revert "Remove old references to SampleApp"
> 
> This reverts commit 1c477fc263.
> 
> Reason for revert: Botpocalypse.
> Original change's description:
> > Remove old references to SampleApp
> > 
> > Docs-Preview: https://skia.org/?cl=135570
> > Change-Id: I330ffa964c2d90ca8d3cd844aabcd8616ccd0540
> > Reviewed-on: https://skia-review.googlesource.com/135570
> > Reviewed-by: Cary Clark <caryclark@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> 
> TBR=halcanary@google.com,brianosman@google.com,caryclark@google.com
> 
> Change-Id: I514e2c7bca8a1ebd311593573a94e8a078695785
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/135600
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=halcanary@google.com,brianosman@google.com,caryclark@google.com

Change-Id: I660482ef32acecf5b1bf24d2dec919bc68fde97e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/135660
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-06-18 21:09:09 +00:00
Eric Boren
aa037523e5 [infra] Include cpython CIPD package on Windows
No-Tree-Checks: true
Bug: skia:
Change-Id: I08854d88e33d00e4bb56eb6eb346592618bd2693
Reviewed-on: https://skia-review.googlesource.com/135579
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Eric Boren <borenet@google.com>
2018-06-18 20:47:48 +00:00
Brian Osman
3ff2b20057 Revert "Remove old references to SampleApp"
This reverts commit 1c477fc263.

Reason for revert: Botpocalypse.
Original change's description:
> Remove old references to SampleApp
> 
> Docs-Preview: https://skia.org/?cl=135570
> Change-Id: I330ffa964c2d90ca8d3cd844aabcd8616ccd0540
> Reviewed-on: https://skia-review.googlesource.com/135570
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=halcanary@google.com,brianosman@google.com,caryclark@google.com

Change-Id: I514e2c7bca8a1ebd311593573a94e8a078695785
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/135600
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-06-18 19:32:09 +00:00
Brian Osman
1c477fc263 Remove old references to SampleApp
Docs-Preview: https://skia.org/?cl=135570
Change-Id: I330ffa964c2d90ca8d3cd844aabcd8616ccd0540
Reviewed-on: https://skia-review.googlesource.com/135570
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-06-18 19:15:48 +00:00
Herb Derby
c00d8627ff Use x text skew to position text
This CL fixes b/110225902.

The PDF device was not taking x skew into account when
calculating positions.

Change-Id: I659dfeba0d31c8e1192cd3538b550c48cf5a835c
Reviewed-on: https://skia-review.googlesource.com/135569
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-06-18 19:09:18 +00:00
Ethan Nicholas
dfbfc738a9 added GrSkSLFP and converted DitherEffect to use it
Bug: skia:
Change-Id: I84b71165eab1712355f3c7669cee2d33d259f3df
Reviewed-on: https://skia-review.googlesource.com/124504
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-06-18 18:40:58 +00:00
Mike Klein
b831ea2296 remove lowp bilerp_clamp_8888 stage
I encountered some trouble getting this turned on in Chromium,
so we've got some undesirable skew between what's tested and shipping.

No one has complained about software rasterization perf to me lately,
so let's just drop this, keeping the already-launched highp
bilerp_clamp_8888 stage.

Change-Id: I9a6557d9b468765989f97369a976c5028f81eab3
Reviewed-on: https://skia-review.googlesource.com/135563
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-06-18 17:49:58 +00:00
Florin Malita
94d4d3e20b [skottie] Fix OOB access in Parse<SkPoint>
SkJSON requires valid array indices, so callers must guard against
out-of-bounds conditions explicitly.

Bug: oss-fuzz:8956
Change-Id: I50b96b088e44a4c1a569e6911d4be5d75799b464
Reviewed-on: https://skia-review.googlesource.com/135445
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-06-18 17:33:18 +00:00
Mike Klein
0333854e55 clean up defines that do nothing
Change-Id: I0181ddfd7b75cd7ffb7002b7038a99419ea876f2
Reviewed-on: https://skia-review.googlesource.com/135562
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-06-18 17:25:28 +00:00
Mike Klein
e72e773ad0 remove SkTCast
SkTCast is functionally equivalent to reinterpret_cast.

The comment about SkTCast helping to avoid strict alising issues is not
true.  Dereferencing a pointer cast to a pointer of an unrelated type is
always undefined, even if smuggled through a union like in SkTCast.

To really avoid aliasing issues, you need to make a union[1] of the two
value types, or better, memcpy between values.  I've had to fix
MatrixText.cpp where switching to reinterpret_cast actually let Clang
notice and warn that we're exploiting undefined behavior, and
GrSwizzle.h and SkCamera.cpp caught by GCC.

I've switched SkTLList over to use SkAlignedSTStorage, which seems
to help convince some GCC versions that fObj is used in a sound way.

[1] The union punning trick is non-standard in C++, but GCC and MSVC
both explicitly support it.  I believe Clang does not officially
explicitly support it, but probably does quietly for GCC compatibility.

Change-Id: I71822e82c962f9aaac8be24d3c0f39f4f8b05026
Reviewed-on: https://skia-review.googlesource.com/134947
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-06-18 17:22:18 +00:00
Brian Salomon
19c1233c44 Change how vertex/instance attributes are handled in geometry processors.
* No longer register vertex/instance attributes on base class, just counts

* Separate instance and vertex attributes and remove InputRate and offset

* Make attributes constexpr where possible

Change-Id: I1f1d5e772fa177a96d2aeb805aab7b69f35bfae6
Reviewed-on: https://skia-review.googlesource.com/132405
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2018-06-18 17:13:58 +00:00
angle-skia-autoroll
146cf3ce79 Roll third_party/externals/angle2 50cf2be0758b..f6fd48fd329f (1 commits)
50cf2be075..f6fd48fd32


git log 50cf2be0758b..f6fd48fd329f --date=short --no-merges --format='%ad %ae %s'
2018-06-18 lucferron@chromium.org Vulkan: Get uniform for array of matrices fix


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

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

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=kjlubick@google.com

Change-Id: I823ad862c48d85e7a7be2f1c5fb9ef667970db2e
Reviewed-on: https://skia-review.googlesource.com/135520
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-06-18 17:02:28 +00:00
Brian Osman
47c275133b Remove GrNonlinearColorSpaceXformEffect
Convert all uses to GrColorSpaceXformEffect

Change-Id: Icc9d093a00450001c1b915db7a8676c9c66073b1
Reviewed-on: https://skia-review.googlesource.com/132090
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-06-18 16:25:48 +00:00
Chris Dalton
4da70190aa ccpr: Implement path mask caching
Implement caching as follows:

1) Instead of deleting the mainline ccpr atlas when finished, stash it
   away from flush to flush.

2) On subsequent flushes, check the stashed atlas to see if we can
   reuse any of its cachable paths. Copy reusable paths into 8-bit
   literal coverage atlases and store them in the resource cache.

3) Recycle the stashed atlas texture for the remaining paths in the
   flush.

Bug: skia:
Change-Id: I9b20fbea708646df1df3a5f9c044e2299706b989
Reviewed-on: https://skia-review.googlesource.com/134703
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-06-18 16:14:28 +00:00
Greg Daniel
ddc0c6006c Always use dedicated VkImage memory on NexusPlayer and Mali.
Fixes issues caused by https://skia-review.googlesource.com/c/skia/+/135260

Bug: skia:
Change-Id: I99db232c6ba56f4adccf6cfaa9c29a4bec900d9b
Reviewed-on: https://skia-review.googlesource.com/135448
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-06-18 15:54:28 +00:00
Mike Klein
e475d016d9 remove stray SkTLList includes
Change-Id: I63ba2424bd70f53c14d15bb332a585881d2c4613
Reviewed-on: https://skia-review.googlesource.com/135451
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-06-18 15:52:58 +00:00
Chris Dalton
4c458b12f6 ccpr: Use lazy proxies with GrCCAtlas
Bug: skia:
Change-Id: I576d9303d451352778de0425e3ecbc561331cd09
Reviewed-on: https://skia-review.googlesource.com/135362
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-06-18 15:32:48 +00:00
Brian Osman
3567c14a41 Implement nonlinear (as-encoded) blending in GrColorSpaceXform
Make GrColorSpaceXform a wrapper over SkColorSpaceXformSteps, and
removed the xform cache. The shader code does up to five steps to
correctly transform (unpremul, linearize, gamut, encode, premul).
Remove all clamping, so we can support sRGB encoded F16.

Most of https://skia-review.googlesource.com/c/skia/+/132090,
except that GrNonlinearColorSpaceXformEffect is still used for
SkColorSpaceXformCanvas and a few other places. As a result,
this doesn't trigger any layout test failures.

Change-Id: I789a5e327a419b5f7634c00d1b355912046c07b7
Reviewed-on: https://skia-review.googlesource.com/135326
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-06-18 14:55:48 +00:00
Cary Clark
1bb47df4fc fast path for pathops
Add faster path for simple but common path ops:
- intersect two rects
- all ops where one operand is empty

R=halcanary@google.com

Bug: skia:8049
Change-Id: I2a516d095feae8478ee9433262c9c77e5e18ce81
Reviewed-on: https://skia-review.googlesource.com/132929
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-06-18 13:30:38 +00:00
Cary Clark
63132864e9 remove SK_MaxSizeT from docs
match review.skia.org/135180

TBR=bungeman@google.com

Docs-Preview: https://skia.org/?cl=135400
Bug: skia:6898
Change-Id: I0fb50045796447b18d040be04b130cb35fdd6bdb
Reviewed-on: https://skia-review.googlesource.com/135400
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-06-18 11:48:38 +00:00
skia-recreate-skps
0242b59c0a Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I6440645a5e761291859f4c97475b07cf9667828c
Reviewed-on: https://skia-review.googlesource.com/135364
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-06-17 08:46:16 +00:00
Hal Canary
7675b36932 SkPDF: Annotations should be indirect objects
Bug: skia:8068
Change-Id: Ib761caa06e6dc2ce37fcd23bd662b13dbb5623db
Reviewed-on: https://skia-review.googlesource.com/135300
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-06-15 21:18:15 +00:00
Ben Wagner
1adfbd594c Work around signed-unsigned comparison warning.
Change-Id: I35d2c3430dbf071dcbbb73e408115d9204e5908b
Reviewed-on: https://skia-review.googlesource.com/135327
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-06-15 21:17:42 +00:00
Florin Malita
0052a31868 [skjson] Detect end-of-input for unbalanced strings
We currently blow through string chars without checking for end-of-input.

Maybe we could avoid this upfront, when we locate the stop char: try to
determine if it's part of an unterminated string, fail immediately if
so.  Figuring out if the tail is an unterminated string seems
intractable though (requires arbitrarily deep tail parsing).

That brings us to plan B:

  * treat scope-closing tokens (} & ]) as string terminators
    (we know end-of-input points to one of these for sure)

  * adjust matchString() to check for end-of-input

Bug: oss-fuzz:8899
Change-Id: Ic0a88a405548e8724b76faca525099a7e7037341
Reviewed-on: https://skia-review.googlesource.com/135145
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-06-15 21:04:35 +00:00
Greg Daniel
37eef455fb Add include/config to vulkan memory allocator build.
Bug: skia:
Change-Id: Ic5e35c6d89203fcad734349afc421e84388997fb
Reviewed-on: https://skia-review.googlesource.com/135322
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-06-15 20:47:45 +00:00
Ben Wagner
dde9b52f9d Work around signed-unsigned comparison warning.
Change-Id: I42f21544f6b626d3b75b65bcccde0b5066dc520f
Reviewed-on: https://skia-review.googlesource.com/135320
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-06-15 20:46:15 +00:00
Ben Wagner
29f2eaf6e5 Remove string.h from SkTypes.h
Change-Id: I2be84f37ea11a386206a96d2fef6e0fc9464e21b
Reviewed-on: https://skia-review.googlesource.com/135264
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-06-15 20:32:05 +00:00
Brian Osman
08a50e02db Include sRGB -> Linear in the cached "from sRGB" xform
This simplifies the handling of paint color conversion, as well as
GrDrawVerticesOp and the default geometry processor. We don't need
to track "linearize" separate from the color space xform. We only
supply an xform if needed. The linearize is now done automatically
by the xform, though we aren't converting to destination gamma.

https://skia-review.googlesource.com/c/skia/+/132090 will fix that.

Change-Id: I0af3f29c123c3dadb818f87c5d295bc78e2ff079
Reviewed-on: https://skia-review.googlesource.com/135141
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-06-15 20:12:35 +00:00