Changes GrPathRenderer::canDrawPath to return a 'CanDrawPath' enum,
which contains a new kAsBackup value that means "I'm better than SW,
but give the path renderers below me a chance first."
Bug: skia:
Change-Id: I45aac5462ca1bc0bc839eb1c315db9493901a07e
Reviewed-on: https://skia-review.googlesource.com/42222
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
The main change is to make GrSamplerParams smaller by making its enums have byte-sized underlying types. The rest is cosmetic.
Change-Id: Ib71ea50612d24619a85e463826c6b8dfb9b445e3
Reviewed-on: https://skia-review.googlesource.com/43200
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit 6e4bbbefe1.
Reason for revert: assertion failure
Original change's description:
> Remove "content" rect from GrTextureAdjuster.
>
> Since we got rid of texture-backed bitmaps this is no longer required.
>
> Change-Id: Id15c745994a3d6a1489e193b5d29916fa0931264
> Reviewed-on: https://skia-review.googlesource.com/36340
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=bsalomon@google.com,robertphillips@google.com
Change-Id: I2229ec05079368ff196ff351107f88062080e5ec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/43720
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: skia:7011 skia:6544
Change-Id: Idacb5ff8090bea6ddbdef710bc0f4dbb8bd23549
Reviewed-on: https://skia-review.googlesource.com/43560
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Since we got rid of texture-backed bitmaps this is no longer required.
Change-Id: Id15c745994a3d6a1489e193b5d29916fa0931264
Reviewed-on: https://skia-review.googlesource.com/36340
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Legacy clients are likely to ignore this information, but there are
cases (using SkColorSpaceXformCanvas) where getting accurate information
is important.
Bug: skia:
Change-Id: Ia56170559c82299375021c813424098ffc627b02
Reviewed-on: https://skia-review.googlesource.com/43562
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
// Below is just for testing
NoTry: true
Bug: b/1
Bug: b/2
Test: test 1
Test: test 2
Change-Id: I05924a1821ad24afb824c98a0a0b8b989d8b11be
Reviewed-on: https://skia-review.googlesource.com/43602
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
This patch removes the loop unrolling code in load_gamut()
for improving the code readability.
Bug: skia: None
Change-Id: I749a3351a9f570347946a419d31efffa85818267
Reviewed-on: https://skia-review.googlesource.com/22001
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
This patch removes the loop unrolling code in onQueryYUV8()
to improve code readability.
Bug: skia: None
Change-Id: Iddbc0a114fae05234bfea39802f19a430f6c86ec
Reviewed-on: https://skia-review.googlesource.com/22000
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
To fix the error "corrupt JPEG data: premature end of
data segment chromium" update the status to libjpeg
when buffer has to be refilled.
Bug: skia: None
Change-Id: I20d253133b5cf8e8e75b5f44774d0116a0a854ee
Reviewed-on: https://skia-review.googlesource.com/24600
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
As DAA does not chop edges at Y extrema, it's valid for convex edges to
have only one edge (e.g., a single cubic edge with the valley shape \_/).
This wasn't an issue for production because DAA is never called for
convex paths by default.
Bug=skia:7015
Change-Id: Iac79801d6a24188970ef6f7bf723494a25d92a1e
Reviewed-on: https://skia-review.googlesource.com/42942
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
For configs that compare results of two drawing methods, it's helpful to
know how the two images differed. This takes both images, PNG encodes them
(at maximum compression settings), then base64 encodes them into data URIs
so they can be viewed directly from the logs.
These kinds of failures are typically very rare, and currently happen
infrequently due to flaky GMs - we don't want to be using this kind of
facility all the time.
Bug: skia:7011
Change-Id: Ib6c271cb8f6cd657cf6ca8ccfee97d0193b4e6ed
Reviewed-on: https://skia-review.googlesource.com/43240
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
void reset(const SkImageInfo& info)
is not useful because it sets
rowBytes to zero while leaving
width alone.
This form of reset also doesn't
appear to have a caller.
TBR=reed@google.com
Bug: skia: 6898
Change-Id: I87019420ddc59107aefe0cac27a6b969976f1bf6
Reviewed-on: https://skia-review.googlesource.com/43480
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
This lets us open & close groups and automates the hierarchy.
Change-Id: Ib6f0850a49b793d824fc25aa16be78e6a1a93d9e
Reviewed-on: https://skia-review.googlesource.com/43280
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This looks to have been an oversight - encoding PNG and WEBP both use
kIgnore when called through this interface.
Bug: b/65262488
Change-Id: I23ba02f979210087808ee2da026a2ca0269e0fb4
Reviewed-on: https://skia-review.googlesource.com/43261
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Change-Id: Iecf034feaa009002b5f09c47052c915d22aec0e4
Reviewed-on: https://skia-review.googlesource.com/43040
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The newlines got accidentally converted to CRLF in
https://skia-review.googlesource.com/c/skia/+/39521
This CL simply runs dos2unix to convert them back.
There are probably more files affected by 39521, but
these 3 files are the major ones that got thousands
of newlines converted.
Bug: skia:
Change-Id: I0aab5c9e2ab3d491bfe746d6b2db19532a89d654
Reviewed-on: https://skia-review.googlesource.com/42921
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Bug: skia:
Change-Id: I1fd78b495e2f087096ad5b5db36c15a16514409c
Reviewed-on: https://skia-review.googlesource.com/43160
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This code has interpolation for small radii like the old code.
This code is protected by the flag:
SK_LEGACY_SUPPORT_INTEGER_SMALL_RADII
In addition, I have improved the scale calculation for Gauss to be more
accurate, and it is also protected by the flag:
SK_LEGACY_SUPPORT_INTEGER_SMALL_RADII
When SK_LEGACY_SUPPORT_INTEGER_SMALL_RADII is defined, then there
is no difference.
Bug: skia:
Change-Id: I588299c3768dd009852ce41f33a6a8572d9f4ad3
Reviewed-on: https://skia-review.googlesource.com/41746
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Bug: skia:
Change-Id: I3c34a9c38a86edc518abaf34982e1334a4154a15
Reviewed-on: https://skia-review.googlesource.com/43140
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
fuzzer causes pathops to loop
somewhere finding complex
intersections, but does not
have a reproducible test case.
Somewhat grasping at straws,
the failing condition in this
CL was triggered by the fuzzer
tests, but may or may not be
related to the hang.
TBR=reed@google.com
Bug: 754434
Change-Id: Ia8edc0709cec559b277ed83a5ad6feb67d8088c6
Reviewed-on: https://skia-review.googlesource.com/42780
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Change-Id: I4086a17eafecccaf0bac34c850c249a5e4efc719
Reviewed-on: https://skia-review.googlesource.com/42524
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I827e158703941ef61b2f390751b7521acdeeb951
Reviewed-on: https://skia-review.googlesource.com/42824
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Avoids the need for MSAA cubic borders by chopping up the cubic
geometry and crossing the inflections points and loop intersections
with lines and quadratic(s) instead. This allows us to render the
remaining cubic segments with simple hulls and analytic AA, giving
better image quality and performance.
Bug: skia:
Change-Id: If371229f575ee0286c325c230a116d602a9d38ce
Reviewed-on: https://skia-review.googlesource.com/41883
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Creates a GrCCPRGeometry class that chops contours up into simple
segments that ccpr can render, and rewrites the GPU buffer creation to
be able to handle arbitrary lengths of ccpr geometry.
Bug: skia:
Change-Id: Iaa173a02729e177b0ed7ef7fbb9195d349be689d
Reviewed-on: https://skia-review.googlesource.com/41963
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
7d738e2661..8693bdb881
$ git log 7d738e266..8693bdb88 --date=short --no-merges --format='%ad %ae %s'
2017-09-02 jmadill Add a few missing dirty bit cases.
Created with:
roll-dep skia/third_party/externals/angle2
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-ANGLE
TBR=robertphillips@google.com
Change-Id: Ie60f2ecd92516934eb482531c67a26c847e03736
Reviewed-on: https://skia-review.googlesource.com/42701
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
This reverts commit 19c8726a08.
Reason for revert: Breaking Chrome roll
Original change's description:
> Optimize SkColorSpaceXformCanvas for GPU-acceleration
>
> This change ensures that SkImages are uploaded to the GPU before
> applying the xform when the destination canvas is on the GPU. This
> makes it possible to get hits in the texture cache and it ensure
> that transforms get computed on the GPU.
>
> This fixes a severe performance regression in Chrome that happened
> when color correction was enabled.
>
> BUG=chromium:760738
>
> Change-Id: I52032a9f06ccbe1a7fd56a91db15377925143b26
> Reviewed-on: https://skia-review.googlesource.com/42422
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Justin Novosad <junov@chromium.org>
TBR=brianosman@google.com,junov@chromium.org
Change-Id: Ia117d6f95c34324383aaf3bfc990bb13e48bed6e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:760738
Reviewed-on: https://skia-review.googlesource.com/42720
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Fixes up resolution and sets up ES context properly.
Change-Id: I660098905f0d3643b0c7392808833ab564dbd447
Reviewed-on: https://skia-review.googlesource.com/42122
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Move code into a helper function, make sure that all TexImage and
TexSubImage calls are correctly unbinding.
Bug: skia:
Change-Id: I79bfa0af43a08f775186a867167fa67b4437688c
Reviewed-on: https://skia-review.googlesource.com/42640
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Because floats are fun, the compiler cannot merge x + 0.5f +
[0,1,2,3,4...] into x + [0.5,1.5,2.5,3.5,4.5,...]. But we can.
Change-Id: I03b46c1ea0653877f35f6c888f29371b5f73d813
Reviewed-on: https://skia-review.googlesource.com/42480
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: Ie36cebc14c4f4e47f143ae79efbea7088637acf4
Reviewed-on: https://skia-review.googlesource.com/42523
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>