Commit Graph

35047 Commits

Author SHA1 Message Date
Herb Derby
59d997a6e1 New more efficient run builder
A system for building glyph runs. In the future the builder will
only live in canvas, but it's internal structures facilitate
interacting with the cache a single glyph at a time. When all
the bulk code is in place, only runs will be passed around.

Passing the builder down the text draw stack is temporary.

Change-Id: I6e3ed184b3f3a58b919377f2d31936e971bd8efa
Reviewed-on: https://skia-review.googlesource.com/132928
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-06-08 19:25:43 +00:00
Bruce Wang
f0aacafe9e Add SkTypeface::makeClone.
This adds an method to typeface to allow users to create a copy of the
typeface with different arguments for its parameters. This is far more
efficient when animating a variation font.

Change-Id: Ie41a5b76bef8eaf05b56b65774eaf38aad0dc4cf
Reviewed-on: https://skia-review.googlesource.com/132934
Commit-Queue: Bruce Wang <brucewang@google.com>
Reviewed-by: Bruce Wang <brucewang@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-06-08 19:13:13 +00:00
Brian Salomon
17ee85597a remove half float workaround in GrGLGpu::onReadPixels
Change-Id: Ifb30a0b977918d84f5b9d5ea1714d19cc7392e37
Reviewed-on: https://skia-review.googlesource.com/133440
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-06-08 19:05:43 +00:00
Brian Osman
56893cd175 Fix A2B JPEG images on GPU backed xform or color-managed canvas
A2B images can't be transformed on the GPU, so ensure that
they're "converted" before being uploaded. (This may just
create a new lazy image with an updated color space).

Then, when we're converting JPEG images (YUV) to textures,
don't allow GPU decode if the result needs to go through
A2B conversion (again, we can't do this). In that case,
we just ask the generator (codec) for RGB data, which will
trigger correct CPU conversion before the upload.

Eventually this will be rewritten further, because we won't
allow A2B data in SkColorSpace, but for now this fixes a
problem that's not actually affecting any clients, but is
blocking a GrColorSpaceXform refactor.

Change-Id: I1ebef4a90773d21ec4011ed1ac16aed486ba5539
Reviewed-on: https://skia-review.googlesource.com/133447
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-08 18:58:44 +00:00
Ben Wagner
d2ae4df90d Add text size override to Viewer.
In some cases issues only happen when the actual requested text size on
a paint is a particular size. Allow overriding the text size on the
paint for such testing.

Change-Id: Ic719ea36ba9d624725d443cbd563283628606f2d
Reviewed-on: https://skia-review.googlesource.com/133446
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-06-08 18:49:04 +00:00
Chris Dalton
89c5e8878e Implement Sk2f::floor
Bug: skia:
Change-Id: Id40e7165a338d321df71a1852b48eb2570ecd75b
Reviewed-on: https://skia-review.googlesource.com/133460
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-08 18:41:13 +00:00
Mike Klein
76f5706d80 remove linear blending from SkWebpCodec
Change-Id: Ia4cf10ba999b48437491416b0fb21d7726d73b4f
Reviewed-on: https://skia-review.googlesource.com/133444
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-06-08 18:41:03 +00:00
Stephen White
89042d5f13 GrTessellator: catch missing intersections.
Sometimes the intersection check will miss an intersection (because
floating point). This can leave the active edge list in an invalid
state, where an edge pair is incorrectly ordered. The fix is to test
for edge crossings after testing for intersections, and split the
edges manually. This extra check may result in a performance hit, so
we'll have to watch the perf bots carefully.

Bug: 843135
Change-Id: If50320413026be503cdb2d33e6c97f620e4d51a9
Reviewed-on: https://skia-review.googlesource.com/133400
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2018-06-08 18:26:05 +00:00
recipe-roller
894e346fcc Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/e89dcf7dee37d535a9180823f2c8fe33cde1bfcc Roll mac_toolchain to 796d2b92c (sergeyberezin@google.com)
  https://crrev.com/efe4f897c23d4fc19625a9479961b97637828ffc gclient: Add a test to make sure we're syncing CIPD dependencies. (ehmaldonado@chromium.org)
  https://crrev.com/8e6f58c7e6150115b7885ba69c45bffb70fca9c3 Add an `--ignore-current` flag to `git cl owners` to start from scratch. (sdy@chromium.org)
  https://crrev.com/e05f18d47735f3bc3f5808d0ce38a452b82d95e8 Reland "Reland "Expand variables in gclient flattened output."" (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic925d334e3303be1bead972286753ecbdc82bea1
Reviewed-on: https://skia-review.googlesource.com/133442
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-06-08 18:25:43 +00:00
Florin Malita
7796f00dcf SkJson
For now this is only wired to a bench and a couple of tests.

Local numbers, for a ~500KB BM "compressed" json:

    micros   	bench
   2456.54  	json_rapidjson	nonrendering
   1192.38  	json_skjson	nonrendering


Change-Id: I7b3514f84c7c525d1787722c43ad6095e3692563
Reviewed-on: https://skia-review.googlesource.com/127622
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-08 17:45:33 +00:00
Adrienne Walker
61e66867ae Fix SkImageInfo::computeByteSize underflow
Bug: chromium: 819616
Change-Id: I9d4c079ad93518e45739fbb7d1abc32dedbb9c26
Reviewed-on: https://skia-review.googlesource.com/132281
Auto-Submit: Adrienne Walker <enne@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-08 17:42:33 +00:00
Greg Daniel
9eb36b9eb8 Reland "Require mips to be allocated at texture creation time and disable late allocations."
This reverts commit 0c78238e29.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Require mips to be allocated at texture creation time and disable late allocations."
> 
> This reverts commit cd2c3f9055.
> 
> Reason for revert: Looks to be causing angle failures on initial clear test
> 
> Original change's description:
> > Require mips to be allocated at texture creation time and disable late allocations.
> > 
> > If we get a non-mipped texture for a draw that wants to be use mip map filter, we
> > will copy the texture into a new mipped texture.
> > 
> > Clean up of unused code in the GPU backends for reallocating for mips will be done
> > in a follow up CL.
> > 
> > Bug: skia:
> > Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188
> > Reviewed-on: https://skia-review.googlesource.com/132830
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
>
> 
> Change-Id: I49f0ace52f2586d61b451630b2e6aae84b420b81
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/133041
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

Bug: skia:
Change-Id: I004447a5f1ec72c3be2318ddea803f57efb12ea4
Reviewed-on: https://skia-review.googlesource.com/133340
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-06-08 17:39:33 +00:00
Brian Salomon
fff19667cc Revert "Reland "Workaround constexpr bug in MSVC 2015 in GrTextureOp""
This reverts commit 16b1eab9ba.

TBR=brianosman@google.com

Change-Id: Ide5128f2d518d9f588c71c3b83cdf051416e71c1
Reviewed-on: https://skia-review.googlesource.com/133420
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-06-08 16:47:03 +00:00
Cary Clark
9149954e3a update SkColor
SkColor.h generated include.

Also add generated comment for all files.
And, added typedef documentation where missing.

TBR=reed@google.com

Bug: skia:6898
Change-Id: Ib7757d70c1926b5ae04a5de557711756fce631b6
Reviewed-on: https://skia-review.googlesource.com/132827
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-06-08 16:36:31 +00:00
Cary Clark
b94f6da248 fix define comments
add generated comment for includes

R=caryclark@google.com

Docs-Preview: https://skia.org/?cl=132924
Bug: skia:6898
Change-Id: I42034e2753ed079dd0d0e3ae99f976d32ffaf77a
Reviewed-on: https://skia-review.googlesource.com/132924
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-06-08 16:31:02 +00:00
Mike Klein
5f444c9072 remove final SkTypes dependencies in SkArenaAlloc
Change-Id: I09ab433fecdba01f8e652816be08817da68eea56
Reviewed-on: https://skia-review.googlesource.com/132926
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-06-08 15:34:11 +00:00
Ben Wagner
cef57e94db Remove Win2k8 GPU jobs.
Bug: skia:6734
Change-Id: Ia7e64fe8176f0997d36ef955cc598ba662c7a2e3
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/133304
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-06-08 14:40:11 +00:00
angle-skia-autoroll
7757b04572 Roll third_party/externals/angle2 81970bc..c3907ef (2 commits)
81970bc..c3907ef


git log 81970bc..c3907ef --date=short --no-merges --format='%ad %ae %s'
2018-06-08 oetuaho@nvidia.com Always use custom float parsing in GLSL
2018-06-08 jiajia.qin@intel.com Add a test to expose boolean uniform bug on Intel windows


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

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

Change-Id: I84b8992cb8639ec49b955a813fe57ba6e16ac91e
Reviewed-on: https://skia-review.googlesource.com/133261
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-08 14:07:31 +00:00
Timothy Liang
651286f5d8 fixed vec3 size differences and mod calculation of skslc msl backend
Bug: skia:
Change-Id: I5dc6d956463845627a1a2debee5ac8856e5e2e8d
Reviewed-on: https://skia-review.googlesource.com/132500
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-06-08 13:51:41 +00:00
Brian Osman
229f4d93c1 srgb config is gone. Stop testing it.
Should fix Google3 roll.

Change-Id: I986f442f2f36048e2322b6360a39221da2cb176b
Reviewed-on: https://skia-review.googlesource.com/133301
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-06-08 13:37:11 +00:00
Eric Boren
cb0b98b263 Update gen_tasks.go to use unforked glog
Required after https://skia-review.googlesource.com/130562

Bug: skia:
Change-Id: I6409622b5124422906e7acfae96acab46305e1f7
Reviewed-on: https://skia-review.googlesource.com/133042
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-06-08 12:55:41 +00:00
Robert Phillips
88a32efa75 Add a factory to any GrOp-derived class that lacked one
All GrOp-derived classes are going to have allocate their memory in a GrMemoryPool.

Change-Id: Ifa410b05eecd9b68c39dcc15dd4298d617204c13
Reviewed-on: https://skia-review.googlesource.com/132828
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-06-08 11:55:11 +00:00
angle-skia-autoroll
7a45dd1dac Roll third_party/externals/angle2 ea17575..81970bc (3 commits)
ea17575..81970bc


git log ea17575..81970bc --date=short --no-merges --format='%ad %ae %s'
2018-06-08 jiawei.shao@intel.com Use ShaderMap in DynamicHLSL and StateManager11 - Part I
2018-06-07 geofflang@chromium.org Fully format some files.
2018-06-07 lfy@google.com GLES1: Texture environments setup


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

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

Change-Id: Idd6d50fcbca58a28f29c80bb9d2e8f867dc9c48a
Reviewed-on: https://skia-review.googlesource.com/133161
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-08 02:08:27 +00:00
Mike Klein
9f752aada3 tweak SkArenaAlloc comments, parameter names
Change-Id: Ie7518f2ad2e0f11f0acd5a3bfeff4e5ca7188311
Reviewed-on: https://skia-review.googlesource.com/132925
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-06-07 22:59:36 +00:00
Cary Clark
ae957c4f9d switch fiddle examples to call MakeFromTexture with RGBA
R=brianosman@google.com

Docs-Preview: https://skia.org/?cl=133063
Bug: skia:6898
Change-Id: I4fe3c8a2bdf71c851109f01f1b3c121f63421339
NOTRY=true
Reviewed-on: https://skia-review.googlesource.com/133063
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-06-07 22:08:36 +00:00
Bruce Wang
7731073386 SkFontMgr_DirectWrite::onMakeFromStreamArgs works on win 7
Change-Id: I7c7f624a04d3c337de834cc776abcee051309844
Reviewed-on: https://skia-review.googlesource.com/133061
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Bruce Wang <brucewang@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-06-07 21:49:06 +00:00
Mike Klein
2e361a3c34 remove unused stat tracking from SkArenaAlloc
I'm really only trying to remove the dependency on SkDebugf().
If we want to keep this, I could switch it to take an optional
stats callback called in the destructor?

Change-Id: I5aa2a58ccc7c8e17e61f29b482b2851be056fa07
Reviewed-on: https://skia-review.googlesource.com/132922
Auto-Submit: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-06-07 20:51:06 +00:00
Ben Wagner
4d5161135e Defer Sample setup to onOnceBeforeDraw.
The Atlas and BitmapRect samples do a great deal of work in their
constructors. In particular this makes setting breakpoints deep in the
glyph handling code more problematic that it needs to be, since these
will call into the glyph code when they are created which can happen
quite early. A great deal of this code does not need to run in the
constructor in any event, the work only needs to be done once before the
sample is drawn. As a result, defer this work into onOnceBeforeDraw.

Change-Id: I212d3909170bf1cb56769a45e1714f24a496472f
Reviewed-on: https://skia-review.googlesource.com/132927
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-06-07 20:37:06 +00:00
Greg Daniel
0c78238e29 Revert "Require mips to be allocated at texture creation time and disable late allocations."
This reverts commit cd2c3f9055.

Reason for revert: Looks to be causing angle failures on initial clear test

Original change's description:
> Require mips to be allocated at texture creation time and disable late allocations.
> 
> If we get a non-mipped texture for a draw that wants to be use mip map filter, we
> will copy the texture into a new mipped texture.
> 
> Clean up of unused code in the GPU backends for reallocating for mips will be done
> in a follow up CL.
> 
> Bug: skia:
> Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188
> Reviewed-on: https://skia-review.googlesource.com/132830
> 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: I49f0ace52f2586d61b451630b2e6aae84b420b81
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/133041
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-06-07 20:11:33 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
1bd4b31d1d Roll skia/third_party/skcms 0fdd840..1be9889 (1 commits)
https://skia.googlesource.com/skcms.git/+log/0fdd840..1be9889

2018-06-07 mtklein@chromium.org roll to latest win_toolchain


The AutoRoll server is located here: https://skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=halcanary@google.com

Change-Id: Ifb0b110530d749a9ede83ea2a3c2f857d5c9bb58
Reviewed-on: https://skia-review.googlesource.com/132960
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-06-07 19:59:31 +00:00
Jim Van Verth
4ba1a6f0bf Revert "Change persp dftext to only antialiased"
This reverts commit 8345aa6302.

Reason for revert: Causing inexplicable test failures.

Original change's description:
> Change persp dftext to only antialiased
> 
> Originally I had aliased text in here because I thought it would trigger
> the bug, but it doesn't and it's a bad idea for perspective text.
> Changed it to a reasonably large size just to get another test case.
> 
> Bug: skia:8042
> Change-Id: Ia81161063c76431e04503349ad6b33afb7523605
> Reviewed-on: https://skia-review.googlesource.com/132833
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,robertphillips@google.com

Change-Id: Ieec8fad7733a6ea435b2b211d5718c65cc263cbb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8042
Reviewed-on: https://skia-review.googlesource.com/133040
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-06-07 19:54:22 +00:00
Brian Salomon
4d3f517282 Remove GrGLSLFragProcs typedef. Use unique_ptr to for GrGLSLFragmentProcessor ownership.
Change-Id: Ifefbde2ec0002e7e41bed2e4bc2cd7bdd04504d0
Reviewed-on: https://skia-review.googlesource.com/132931
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-06-07 19:42:41 +00:00
Greg Daniel
cd2c3f9055 Require mips to be allocated at texture creation time and disable late allocations.
If we get a non-mipped texture for a draw that wants to be use mip map filter, we
will copy the texture into a new mipped texture.

Clean up of unused code in the GPU backends for reallocating for mips will be done
in a follow up CL.

Bug: skia:
Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188
Reviewed-on: https://skia-review.googlesource.com/132830
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-06-07 19:35:01 +00:00
Ben Wagner
c174cc675c Add SkTypeface::makeClone.
This adds an method to typeface to allow users to create a copy of the
typeface with different arguments for its parameters. This is far more
efficient when animating a variation font.

BUG=skia:7121

Change-Id: I34e7557a08c7005f8149ea44f0c28de9c59d15a7
Reviewed-on: https://skia-review.googlesource.com/132480
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-06-07 19:32:11 +00:00
Mike Klein
6120164138 remove "srgb" config from DM,nanobench
Now that "srgb" is broken I don't want to accidentally run it.
"srgbnl" if of course identical, and not broken so much as
simply not yet working.  :)

While here, simplify the configs we run in nanobench too, eliminating
565 and moving F16 to GCE-only (i.e. fast, abundant machines).

Similarly, remove "adobe" VIA that doesn't use Adobe RGB correctly...

Change-Id: Ic295dec97a2caadadbe8500655243db36dd2c43d
Reviewed-on: https://skia-review.googlesource.com/132932
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-07 19:12:11 +00:00
Khushal
fa8ff09457 fonts: Hook up FallbackTextHelper to font remoting.
Use GrContext::FallbackTextHelper in SkTextBlobCacheDiffCanvas to
replicate glyph generation logic for fallback text during analysis. This
ensures that we correctly handle these fallback cases when using
distance field or paths for text rendering.

R=herb@google.com, jvanverth@google.com

Bug: skia:7913
Change-Id: I3067c4f1bd09231a564ac7c4cd89efcb876d2abd
Reviewed-on: https://skia-review.googlesource.com/132285
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
2018-06-07 18:03:11 +00:00
Greg Daniel
d5b4593024 Add checks to make sure we don't overflow 32 bit int in GPU path renderers.
Bug: chromium:848716
Change-Id: I5b8fe036c666a1f379c4125115b2cec0295711b3
Reviewed-on: https://skia-review.googlesource.com/132268
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-06-07 17:38:01 +00:00
Jim Van Verth
8345aa6302 Change persp dftext to only antialiased
Originally I had aliased text in here because I thought it would trigger
the bug, but it doesn't and it's a bad idea for perspective text.
Changed it to a reasonably large size just to get another test case.

Bug: skia:8042
Change-Id: Ia81161063c76431e04503349ad6b33afb7523605
Reviewed-on: https://skia-review.googlesource.com/132833
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-06-07 16:41:11 +00:00
Greg Daniel
dc636203f4 Add guard around GrVkBackendContext::Create function.
Just want to make sure the use of this doesn't leak out to other users
as I work on removing it.

Bug: skia:
Change-Id: I5ecf11615db64bd489065e6f67e0e1d4bb3298eb
Reviewed-on: https://skia-review.googlesource.com/132831
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-06-07 16:32:11 +00:00
Robert Phillips
9519d4f05a Remove unused GrObjectMemoryPool
Change-Id: I8d37dfa3a5f0af4741eb6f1c10e13065d20b0ccb
Reviewed-on: https://skia-review.googlesource.com/132829
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-06-07 16:08:41 +00:00
angle-skia-autoroll
0e6cd9ec98 Roll third_party/externals/angle2 2bd1fab..ea17575 (1 commits)
2bd1fab..ea17575


git log 2bd1fab..ea17575 --date=short --no-merges --format='%ad %ae %s'
2018-06-07 lucferron@chromium.org Vulkan: enable invariance dEQP tests


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

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

Change-Id: I6892f4a18487959d54032b3dc73db114aa029bbf
Reviewed-on: https://skia-review.googlesource.com/132860
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-07 16:07:11 +00:00
Mike Klein
d62c4bd38c require std::is_trivially_destructible
Change-Id: I78cbaf420ad1e16f07eacb8b4c6c825fe849b08a
Reviewed-on: https://skia-review.googlesource.com/132825
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-06-07 16:03:31 +00:00
Bruce Wang
73e93f3134 Implement SkFontMgr_DirectWrite::onMakeFromStreamArgs function.
Variable fonts now work on windows 10.

Change-Id: I81a90520544e2f4811d54bee1e3b89a83792000d
Reviewed-on: https://skia-review.googlesource.com/132221
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Bruce Wang <brucewang@google.com>
Commit-Queue: Bruce Wang <brucewang@google.com>
2018-06-07 15:46:38 +00:00
Kevin Lubick
faef51451a More libfuzzer cleanups from GPU switchover
This was breaking the oss-fuzz build as is.

Bug: oss-fuzz:8701
Change-Id: I23ad21816a293356c91cd3bbc6276b2ed3ceafe6
Reviewed-on: https://skia-review.googlesource.com/132822
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-07 14:53:58 +00:00
Cary Clark
0d225395fa generate SkColor include
bookmaker can now generate SkColor.h
This required adding support for #define, typedef,
global constexpr, and fixing various bugs, like
forward declared structs between comments.

Docs-Preview: https://skia.org/?cl=131260
Bug: skia:6898
TBR=caryclark@google.com
Change-Id: I6bee0c6f5c3a6820b04472a318abde8a2523dbbb
Reviewed-on: https://skia-review.googlesource.com/131260
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-06-07 14:22:38 +00:00
Mike Klein
d07dc361bc clean up some unused parts of SkArenaAlloc
I'm looking at making SkArenaAlloc independent of Skia.
Here's a bit of low-hanging fruit.

Nothing is using makeSkSp().  Good... it seems real dangerous.

Change-Id: Ib7154e7948a3c6d828376ef37935636b3b4695ff
Reviewed-on: https://skia-review.googlesource.com/132824
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2018-06-07 14:21:28 +00:00
Jim Van Verth
2525a37c08 Add test of tiny text with perspective.
There is an issue with rendering tiny text with SDFs,
and it's unclear which platforms this occurs on. Adding
this to the GM will make it clearer.

Bug: skia:8042
Change-Id: I0596c8e17a3b3cc7d6b51bef33097cfaba3bc64e
Reviewed-on: https://skia-review.googlesource.com/132823
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-06-07 14:05:28 +00:00
Cary Clark
18562b8adb fix pathops fuzzer
turn assert into fail

R=kjlubick

Change-Id: I3a2172b6b1a9eff092bcfddcf8310f32754b93f7
Reviewed-on: https://skia-review.googlesource.com/132780
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-07 12:31:08 +00:00
Brian Salomon
969bdef641 Remove GrGeometryProcessor knowledge of explicit local coords
This seems to be part of an older model where the base class was more
aware of how subclasses handled local coords.

Only the default geometry processor uses it and it already incorporates
 the existence of explicit local coords into its shader key.

Other GPs that used explicit local coords don't use this.

Change-Id: Ia396f2a5e626e57470905ae770f1576386c0cefb
Reviewed-on: https://skia-review.googlesource.com/132665
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-06-06 21:56:24 +00:00
Cary Clark
7db95a6451 add documentation
diagram for pathops change

TBR=caryclark@google.com
Bug: skia:8049
Change-Id: I2bbd04f1efad53e1197a45baf3ce98f0eb550512
Reviewed-on: https://skia-review.googlesource.com/132664
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-06-06 21:22:44 +00:00