Commit Graph

34158 Commits

Author SHA1 Message Date
Adrienne Walker
1df7cd8712 Reland "Add stub gpu workaround generators"
This is a reland of 94d25b970b

Original change's description:
> Add stub gpu workaround generators
> 
> Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362,
> this patch adds a way for Chrome and Skia to share a set of driver
> workaround names so that they can be turned on by Chrome (or Skia) as
> needed.
> 
> To avoid weird cross-repository dependencies, the generator script is
> duplicated in Skia.
> 
> This patch just adds a few dummy workaround names to make sure the build
> process is working.  The followup to this is to add workaround init
> to GrContext/GrContextOptions and to start implementing individual
> workarounds.
> 
> Implementing these workarounds is to support Chrome's "out of process
> raster" which will use Ganesh without a command buffer, and so will not
> have the workarounds that the command buffer provides.
> 
> Bug: chromium:829614
> Change-Id: I40745a777a95805995991fedb81657ae418b52d9
> Reviewed-on: https://skia-review.googlesource.com/120608
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

Bug: chromium:829614
Change-Id: Idb3309ffa894f7585ee493388b56565e9d4a3101
Reviewed-on: https://skia-review.googlesource.com/122800
Auto-Submit: Adrienne Walker <enne@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-04-20 17:50:45 +00:00
Robert Phillips
2748391716 Add ability to dump opList info at flush-time
When debugging DDL it is useful to just see which ops are being drawn instead of the entire reordering history.

Change-Id: I89708fecbd53c097b00e65b0da426bfb8046b0ee
Reviewed-on: https://skia-review.googlesource.com/122780
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-04-20 17:47:55 +00:00
Ben Wagner
d7c97861c7 Fix Housekeeper-PerCommit-InfraTests
Failure was the result of a conflict between these two CLs:
https://skia-review.googlesource.com/122640
https://skia-review.googlesource.com/121425

Bug: skia:7671
No-Try: true
Change-Id: I143e8dc4e27b6f0720b0f9d72839a6f53bdd6c4a
Reviewed-on: https://skia-review.googlesource.com/122792
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-04-20 17:31:05 +00:00
Leon Scroggins III
37819d03fe Reduce threads used for DNG decodes on Android
Bug: b/78120086

DNG files require lots of memory to decode. We recently removed the
limit on how much SkRawCodec can allocate, allowing it to decode large
warped DNG files, so long as the device has enough memory. But in
practice, running too many threads at once with each thread allocating
a lot of memory results in crashing on Android. Reduce the number of
threads so we save memory and do not crash.

Change-Id: I464b5a21c019463d2ec31e333f25ebb0b81605bd
Reviewed-on: https://skia-review.googlesource.com/122786
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-04-20 16:55:15 +00:00
Ben Wagner
bbdee1befa Add SwiftShader Build jobs.
Bug: skia:7671
No-Try: true
Change-Id: I34015cceca538c84d87a77b6688fa1490c620d04
Reviewed-on: https://skia-review.googlesource.com/121425
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-04-20 16:45:25 +00:00
Ben Wagner
919c6a14ca Add cmake_linux asset.
Bug: skia:7671
No-Try: true
Change-Id: I4a2c5abb8480dfb7ca75a4d523f8b337a3eb9fba
Reviewed-on: https://skia-review.googlesource.com/122520
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-04-20 16:43:05 +00:00
Greg Daniel
dbdba60274 Add discard check when deciding if we should execute op list or not.
Bug: skia:7828
Change-Id: I339ba64b6312cd9444cd4faffd426d91852774e9
Reviewed-on: https://skia-review.googlesource.com/122784
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-04-20 16:30:15 +00:00
Robert Phillips
cb7b83113b Remove another writePixels instance
This converts the GrSWMaskHelper to being DDL compatible

Change-Id: Ic0c7f95a7ed6d2936118b4127c2cfce94a2ec0da
Reviewed-on: https://skia-review.googlesource.com/122788
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-04-20 16:25:35 +00:00
Chris Dalton
5450ab10b1 ccpr: Don't solve for cubic roots that are out of range
Most real-world cubics don't have both KLM roots inside T=0..1, and a
large amount don't have any. This CL gives a nice speedup by not
wasting time finding padding around KLM roots that we aren't going to
chop at anyway.

Bug: skia:
Change-Id: Icb7217142e29fc3f8e8ff657e9dc739caf6d6714
Reviewed-on: https://skia-review.googlesource.com/122129
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-20 16:20:45 +00:00
Ben Wagner
ce6e68af5c Add SwiftShader to DEPS.
Bug: skia:7671
No-Try: true
Change-Id: Ib41428b5c3ed8d6655fac38e525014663ce85817
Reviewed-on: https://skia-review.googlesource.com/121357
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2018-04-20 16:09:55 +00:00
Chris Dalton
d8bae7d501 ccpr: Fix flatness and triangle-ness detection for conics
We should detect these cases by examining the curve at max height; not
midtangent.

Bug: skia:7821
Change-Id: I3d9e3a10798f0d825916840cb99d054b2a6284c3
Reviewed-on: https://skia-review.googlesource.com/122620
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-20 16:06:25 +00:00
Robert Phillips
3d0e8507fa Prevent matrix stack from being corrupted if a rotated image filter is clipped out
Bug: skia:7765
Change-Id: Id76b63cebc25dcdff02d4ba3f6d6bba6f2b6b842
Reviewed-on: https://skia-review.googlesource.com/122782
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-04-20 15:13:55 +00:00
Cary Clark
1eece78318 guard against NaN in path is rect
Recent rewrite of SkPath::isRect() did not check against
sequences with NaN and infinity.

R=kjlubick@google.com

Bug: oss-fuzz:7882
Change-Id: I9315f68e4c53c37fda819adc6d57d6b3e3acc1c6
Reviewed-on: https://skia-review.googlesource.com/122783
Commit-Queue: Cary Clark <caryclark@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-04-20 14:52:05 +00:00
Florin Malita
8f88d89796 Fix use-of-uninitialized-value in SkPictureShader::onMakeContext
SkPictureShader::refBitmapShader is expected to always initialize the
scale adjust vector when returning a non-null shader.  But the code path
returning EmptyShader does not do that.

Instead of hauling around a separate scale adjustment, we can refactor
to avoid this problem by adjusting the local matrix directly, if needed,
in refBitmapShader.  The local matrix is conveniently already stored in
a SkTCopyOnFirstWrite.

Bug: chromium:835048, oss-fuzz:7738
Change-Id: I2df3bde7d6237f01bc71857c2fe254e86b186dc0
Reviewed-on: https://skia-review.googlesource.com/122544
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-04-20 14:14:45 +00:00
Ben Wagner
adeb75d67c Disable retries for Build, CT, and Calmbench tasks.
Bug: skia:7621
Change-Id: I1f08ed816d6349abb5a2275f1cf103dc30af70ca
Reviewed-on: https://skia-review.googlesource.com/122640
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-04-20 14:13:05 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
0d24c50211 Roll third_party/externals/angle2/ b0f917fa6..3ec304dba (1 commit)
b0f917fa63..3ec304dba2

$ git log b0f917fa6..3ec304dba --date=short --no-merges --format='%ad %ae %s'
2018-04-18 lucferron Vulkan: Support struct initializers in shaders

Created with:
  roll-dep third_party/externals/angle2


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

Change-Id: I108f45eb711feb024519b9129bd6bd8327bd21b6
Reviewed-on: https://skia-review.googlesource.com/122760
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-04-20 12:18:35 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
665c4b78eb Roll third_party/externals/angle2/ e24032a2c..b0f917fa6 (3 commits)
e24032a2c4..b0f917fa63

$ git log e24032a2c..b0f917fa6 --date=short --no-merges --format='%ad %ae %s'
2017-12-05 geofflang Fix being unable to request some extensions implemented in the GL layer.
2017-10-30 geofflang Make EGL image extensions enableable.
2017-11-07 geofflang Make EXT_texture_storage enableable.

Created with:
  roll-dep third_party/externals/angle2


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

Change-Id: I7ff8a0154a4ef00feded7692bde0e98d8a8c98bb
Reviewed-on: https://skia-review.googlesource.com/122720
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-04-20 02:41:14 +00:00
Chris Dalton
1804b3528c ccpr: Don't preempt the convex path renderer
It seems to perform better on RRects from web pages.

Bug: skia:7825
Change-Id: Ibecf33849c6d14e7486d9de740b1cc42f274080f
Reviewed-on: https://skia-review.googlesource.com/122626
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-19 21:34:54 +00:00
Ben Wagner
7464a262a2 Add more angle_gl_* configs for NVIDIA.
Bug: skia:7823
Change-Id: I9fbf0875696661ca87b37cf8949bd5f0b48b314d
Reviewed-on: https://skia-review.googlesource.com/122600
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-04-19 21:32:34 +00:00
Jim Van Verth
d75b34394b Remove ambient clamp hack for analytic shadows.
The hack was added to make analytic ambient shadows match the geometric
ones exactly. Removing it does produce a slight difference, but it's
only visible at full black values (and then, only slightly) and this
makes room to pass a blend parameter for falloff.

Also fixes an issue with filling out arcs in the shadow tesselator.

Bug: skia:7486
Change-Id: If78d0104df7e18f4320c1658af75576f6a4a8c73
Reviewed-on: https://skia-review.googlesource.com/122580
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-04-19 21:21:44 +00:00
Brian Osman
fb9f39a98a Remove duplicate predefined configs
Change-Id: I065bb1c20a6a246a2864b394f025fc12614c6a18
Reviewed-on: https://skia-review.googlesource.com/122543
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-04-19 20:47:04 +00:00
Chris Dalton
b3a6959408 ccpr: Clean up GrCCGeometry
Gets rid of the ugly template functions, rearranges a few static
methods, and adds a benchmark.

Bug: skia:
Change-Id: I442f3a581ba7faf7601ae5be0c7e07327df09496
Reviewed-on: https://skia-review.googlesource.com/122128
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-19 20:15:24 +00:00
Herb Derby
e68c4fbf60 Adding pinning to the strike cache
Here is a simple API for the object that pins, and
how it flows through the cache.

BUG=skia:7515

Change-Id: I1b8304dc6f9d8652282300fc1e52d52debb5b6f4
Reviewed-on: https://skia-review.googlesource.com/122500
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-04-19 20:00:04 +00:00
Brian Salomon
33c442206a Fix double counting of coverage in analytic round capped stroked circles.
Change-Id: I28d39f8620d786180b0bf0204b18ca4d1fec597b
Reviewed-on: https://skia-review.googlesource.com/122086
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-04-19 19:48:14 +00:00
Ben Wagner
86fe5adf5c Document minimum OS requirements.
In theory most of Skia can run on bare hardware, but in practice there are
some minimum OS versions which are tested. This initial list is based on
the minimum versions required by as many current users of Skia as could
be found.

Change-Id: I5a3e8b00203de7c31595fe7e66e25cc83f881c25
Reviewed-on: https://skia-review.googlesource.com/120541
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-19 19:38:44 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
4401c47b5d Roll third_party/externals/angle2/ eeec3b14c..e24032a2c (2 commits)
eeec3b14cc..e24032a2c4

$ git log eeec3b14c..e24032a2c --date=short --no-merges --format='%ad %ae %s'
2018-03-28 geofflang The 'format' of unsized SRGB internal formats should be SRGB too.
2018-04-18 lucferron Revert "Fix dEQP renderbuffer unspecified attachment test."

Created with:
  roll-dep third_party/externals/angle2


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

Change-Id: I37f532fbcf33a22699a2d008d1738f8f2634329b
Reviewed-on: https://skia-review.googlesource.com/122276
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-04-19 17:59:34 +00:00
Robert Phillips
ab4f5bde7f rm SkRRectsGaussianEdgeMaskFilter
Neat but unused.

Change-Id: I1b2d160df274b05cfb5582a5385085cc2db89f7d
Reviewed-on: https://skia-review.googlesource.com/121960
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-04-19 17:21:44 +00:00
Eric Boren
cd01a020b5 [skcms] Add version.sha1
Bug: skia:7628
Change-Id: I3ac25a6d5a3fe49ed8d558a947cc0ff8a0b370e8
Reviewed-on: https://skia-review.googlesource.com/122440
Commit-Queue: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-04-19 16:53:41 +00:00
Mike Klein
12ee97c991 crash rather than overflow in SkTDArray
This adds explicit overflow checks to the two likeliest
places where non-buggy code could overflow SkTDArray.

We have an #ifdef'd out PathMeasure_explosion GM that
overflows before this CL and aborts with it.

Bug: skia:7674

Change-Id: Ia0c430f4a8bb9bad687d13c875f604fd7da45aab
Reviewed-on: https://skia-review.googlesource.com/122342
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-04-19 16:45:45 +00:00
Mike Reed
c4e384e5ad check if we fail to eval the conic in pathmeasure
Bug: oss-fuzz:7201
Change-Id: I9d40225b7827239d2a229dc056f7f2caa8a4eb31
Reviewed-on: https://skia-review.googlesource.com/122420
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-04-19 16:07:14 +00:00
Ben Wagner
4b5e4b3f93 Remove unused parameters from internalGetPath.
The fillPath and fillToDevMatrix parameters to
SkScalerContext::internalGetPath are never used. Remove them.

Change-Id: I4fda9b3a24232924e9f94be4abcf8ac10ac7901c
Reviewed-on: https://skia-review.googlesource.com/122360
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-04-19 15:24:04 +00:00
Greg Daniel
57bf4a3dbf When creating testing backendTexture take colorspace into account.
Bug: skia:
Change-Id: Ifa8dbad3eca81790648476f9a6d3fa5a088fede9
Reviewed-on: https://skia-review.googlesource.com/122341
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-04-19 15:02:34 +00:00
Kevin Lubick
bc54533b2b Fix Chromecast bots
The psuedo-tty allocation seems to have been wrong and switching
to Kitchen exacerbated the matter.

Bug: skia:
Change-Id: Ie44d3952383d89d398722837e7bbc51798e5833e
Reviewed-on: https://skia-review.googlesource.com/122304
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-04-19 14:39:56 +00:00
Eric Boren
eb70238dd5 [infra] gen_tasks: Pass internal hardware ID as a property
Bug: skia:7050
Change-Id: Ie262788b02f83d945455fa0cad8f5fe737a1cd4a
Reviewed-on: https://skia-review.googlesource.com/122303
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-04-19 14:18:24 +00:00
Herb Derby
dce19a76e9 Untangle strike cache and glyph cache
The strike cache and the glpyh cache have been friends
for a long time. Untangle this twisted relationship.

BUG=skia:7515

Change-Id: Ie77393f6923e9886ec90ff7a60a1200e78319937
Reviewed-on: https://skia-review.googlesource.com/122084
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-04-19 14:10:05 +00:00
Mike Klein
23e4544e94 disallow negative setReserve() calls
We already assert that setCount()'s argument is non-negative.
This does the same for setReserve().

There was one call site I could find that was actually sometimes
passing negative values to setReserve(), guarded here.

Already reviewed: https://skia-review.googlesource.com/c/skia/+/115982

Change-Id: Ia52a286732bf4056e9baf09555d27bab9abf2554
Reviewed-on: https://skia-review.googlesource.com/122305
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-04-19 14:08:14 +00:00
Mike Klein
bd000a11c7 rm SkTDArray::select()
It's only used in one call site, which is clearer without it.

Already reviewed: https://skia-review.googlesource.com/c/skia/+/115982

Change-Id: I3d0f8c1f0756e01e29cdb9f9328b0f557d3650d3
Reviewed-on: https://skia-review.googlesource.com/122302
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-04-19 14:01:34 +00:00
Mike Klein
cc9856cdd5 clean up setReserve() rule-bending
These routines call setReserve(N), write M<N items into the reserved
memory, and then setCount(M) afterwards.  That happens to function with
SkTDArray's current implementation, but really breaks the spirit of what
setReserve() means.

This CL switches those setReserve() calls to setCount().

Calling setCount(N), writing M<N items, then setCount(M) should have the
exact same effect, and be completely within the rules.

Already reviewed here: https://skia-review.googlesource.com/c/skia/+/115982

Change-Id: I462479488055cf1c99de2bc6dbc1707dbe24db7e
Reviewed-on: https://skia-review.googlesource.com/122301
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
2018-04-19 13:57:44 +00:00
Leon Scroggins III
e7fd7ff0ec Remove the limit on dng allocations
Bug: 78120086
Test: TODO

The limit was artificial, and did not allow for certain transformations.
SkRawCodec will already fail gracefully on failures to allocate, so just
rely on that.

Change-Id: Id9f92b6935d77dc6ff8a06b13bd157f476a3f84c
Reviewed-on: https://skia-review.googlesource.com/121946
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-04-19 13:37:46 +00:00
Leon Scroggins
2ae45ae83a Revert "Add stub gpu workaround generators"
This reverts commit 94d25b970b.

Reason for revert: Breaking the Chromium roll

Original change's description:
> Add stub gpu workaround generators
> 
> Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362,
> this patch adds a way for Chrome and Skia to share a set of driver
> workaround names so that they can be turned on by Chrome (or Skia) as
> needed.
> 
> To avoid weird cross-repository dependencies, the generator script is
> duplicated in Skia.
> 
> This patch just adds a few dummy workaround names to make sure the build
> process is working.  The followup to this is to add workaround init
> to GrContext/GrContextOptions and to start implementing individual
> workarounds.
> 
> Implementing these workarounds is to support Chrome's "out of process
> raster" which will use Ganesh without a command buffer, and so will not
> have the workarounds that the command buffer provides.
> 
> Bug: chromium:829614
> Change-Id: I40745a777a95805995991fedb81657ae418b52d9
> Reviewed-on: https://skia-review.googlesource.com/120608
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

TBR=bsalomon@google.com,enne@chromium.org

Change-Id: Ie0b69d7d028dabca1fd70813b6920386c8838247
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:829614
Reviewed-on: https://skia-review.googlesource.com/122240
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-04-19 12:25:14 +00:00
Cary Clark
dbc59ba23b path is rect track corners
This was triggered by an exploit that started the first
edge well outside the final rectangle, causing the captured
to exceed the correct result.

Ivan observes that we really only want the first and third
corners to compute the bounds, so remove the tracking code
that looks for a valid range of points, and record the
corners instead.

R=robertphillips@google.com
Bug: 824145,skia:7792
Change-Id: If228573d0f05c7158dba8142c144d13834e691ec
Reviewed-on: https://skia-review.googlesource.com/122081
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-04-19 12:11:34 +00:00
Eric Boren
9599b0fd91 Reland "[infra] Run recipes through Kitchen"
Bug: skia:7050
Change-Id: Icf0bcfbbc505c90a4e8cee7437037a3037bdf33b
Reviewed-on: https://skia-review.googlesource.com/121781
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-04-19 11:27:46 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
a2b1ed5e9d Roll third_party/externals/angle2/ aaa19de06..eeec3b14c (1 commit)
aaa19de06b..eeec3b14cc

$ git log aaa19de06..eeec3b14c --date=short --no-merges --format='%ad %ae %s'
2018-04-16 jmadill dEQP: Add override for ES2 Color Clear Test.

Created with:
  roll-dep third_party/externals/angle2


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

Change-Id: I602173a7cdf4a6e94e25332db65284d2f048e04f
Reviewed-on: https://skia-review.googlesource.com/122220
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-04-19 09:16:13 +00:00
angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
94db785bcf Roll third_party/externals/angle2/ 5804dc8ea..aaa19de06 (9 commits)
5804dc8ea9..aaa19de06b

$ git log 5804dc8ea..aaa19de06 --date=short --no-merges --format='%ad %ae %s'
2018-04-18 jmadill Re-land "Vulkan: Add glslang validator to build."
2018-04-16 lfy GLES1: Client vertex array pointer API
2018-04-13 jmadill Fix perf regression with checkStatus.
2018-04-10 courtneygo Vulkan: Add build toggle for validation layers.
2018-04-17 jmadill Optimize ValidateDrawAttribs: Part 2.
2018-04-16 lucferron Vulkan: Use SH_INITIALIZE_UNINITIALIZED_LOCALS in ShaderVk
2018-04-16 lucferron Vulkan: Implement depth_range dirty bit and enable tests
2018-04-16 lucferron Vulkan: Fix the issue with unused attributes / varyings
2018-04-18 lucferron Vulkan: Fix issue in GlslWrapper and maxVaryingVectors calculation (2nd try)

Created with:
  roll-dep third_party/externals/angle2


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

Change-Id: Ifbf4148bd3e3bdb8e56793317040a15747feab2b
Reviewed-on: https://skia-review.googlesource.com/122180
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-04-19 00:35:23 +00:00
Adrienne Walker
94d25b970b Add stub gpu workaround generators
Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362,
this patch adds a way for Chrome and Skia to share a set of driver
workaround names so that they can be turned on by Chrome (or Skia) as
needed.

To avoid weird cross-repository dependencies, the generator script is
duplicated in Skia.

This patch just adds a few dummy workaround names to make sure the build
process is working.  The followup to this is to add workaround init
to GrContext/GrContextOptions and to start implementing individual
workarounds.

Implementing these workarounds is to support Chrome's "out of process
raster" which will use Ganesh without a command buffer, and so will not
have the workarounds that the command buffer provides.

Bug: chromium:829614
Change-Id: I40745a777a95805995991fedb81657ae418b52d9
Reviewed-on: https://skia-review.googlesource.com/120608
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-04-18 23:10:33 +00:00
Herb Derby
fa99690846 Move strike cache Find*() to strike cache
BUG=skia:7515

Change-Id: Ic1580d4752d51a62df5427a28f843bc7b3181797
Reviewed-on: https://skia-review.googlesource.com/122020
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-04-18 22:07:13 +00:00
Yuqian Li
881091f62e Remove SK_SUPPORT_LEGACY_PATH_DAA_BIT
Change-Id: I5ff39063b1adc1c4f2bf5246fd69c6031c444908
Reviewed-on: https://skia-review.googlesource.com/122133
Commit-Queue: Yuqian Li <liyuqian@google.com>
Auto-Submit: Yuqian Li <liyuqian@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-04-18 21:57:44 +00:00
Florin Malita
c274f8f942 Prevent unnecessary/unbounded growth of SkTDynamicHash capacity
SkTDynamicHash doesn't immediately recycle slots for removed entries,
but instead just marks them as deleted.

The only way to reclaim deleted slots currently is when an exponential
grow/resize is triggered.

A consequence of this is that the capacity/allocated storage can grow
indefinitely when the hash is long-lived and churning -- even if the
number of active entries is small/stable.

To prevent this, I propose we only grow the capacity when the number of
active slots constitutes a significant portion.  Otherwise (when most
slots are deleted), we trigger a "purge" (resize to the same capacity)
to clear the tombstones.

Bug: chromium:832482
Change-Id: Iefdcd7439f7d62ac021e176b71007d207c8bc876
Reviewed-on: https://skia-review.googlesource.com/122082
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-04-18 21:46:33 +00:00
Ben Wagner
4c32956b1f DFT to draw A8 instead of incorrect vertical lcd.
The distance field text renderer currently supports RGB and BGR striping
but does not support vertical striping. Currently the vertical request
is ignored and a horizontal striping is used when a vertical striping is
requested. Instead of drawing the incorrect striping when vertical
striping is requested, draw without the striping instead.

Change-Id: Ic2b173fbfef7db1d2581bf22a5d52dd2a5a24e97
Reviewed-on: https://skia-review.googlesource.com/122085
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-04-18 21:06:33 +00:00
Chris Dalton
9f2dab0fdd ccpr: Implement conics
TBR=egdaniel@google.com

Bug: skia:
Change-Id: Idf7811dc285961db52db41c9ff145afda40c274d
Reviewed-on: https://skia-review.googlesource.com/122127
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-04-18 20:43:54 +00:00