Interpolates the acual curve's local coverage values from the corner
box vertices, rather than an approximation based on the tangent.
Clamps curve segment total coverage values above 0. This prevents us
from using negative coverage (which is obviously wrong) when the curve
approximation function is slightly inaccurate. Moves
GrCCTriangleShader.h into GrCCCoverageProcessor.cpp.
Bug: skia:
Change-Id: I95de8e940c1508d4a359f5f802c3a688f2b84094
Reviewed-on: https://skia-review.googlesource.com/119066
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Change-Id: I1d99d9bb83d8a612d1c1fd298c1f7ed706a2277b
Reviewed-on: https://skia-review.googlesource.com/118990
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
We can't draw everything correctly now, but it's at least not crashing.
The draw_to_canvas is modified by adding flush because now the raster
canvas also needs flush like GPU canvases because of the threaded
backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
and that's why it was not crashing.)
Bug: skia:
Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
Reviewed-on: https://skia-review.googlesource.com/118886
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
c3755fc566..b8e3966096
$ git log c3755fc56..b8e396609 --date=short --no-merges --format='%ad %ae %s'
2018-04-04 jmadill Vulkan: Remove Observer from LineLoopHandler.
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=herb@google.com
Change-Id: I2c8de61a704f4fc30918923a2c5a7a16003f6ebb
Reviewed-on: https://skia-review.googlesource.com/119072
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
dd196e0bc0..c3755fc566
$ git log dd196e0bc..c3755fc56 --date=short --no-merges --format='%ad %ae %s'
2018-04-05 jmadill Vulkan: Move Streaming data to VertexArrayVk.
2018-04-05 jmadill Context: Release surface first in onDestroy.
2018-04-05 jani.hautakangas GLIBC fix: size_t requires include <stddef.h>
2018-04-05 lucferron Vulkan: Bugfix in depth/stencil clearing
2018-04-04 oetuaho Guard traversers used during parsing against stack overflow
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=herb@google.com
Change-Id: I468973cc8f15029bc3289c2414b1768f277dfbd2
Reviewed-on: https://skia-review.googlesource.com/119068
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
SK_IGNORE_TO_STRING is not defined anywhere.
The same effect can be had by using a modern
linker.
Removing it simplifies bookmaker and makes
our includes easier to understand.
R=robertphillips@google.comTBR=reed@google.com
Bug: skia:6898
Change-Id: Ib716f5ef1b42a7fbda0df43ece212d1b7c40289f
Reviewed-on: https://skia-review.googlesource.com/118963
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
https://skia.googlesource.com/skcms/+log/a7974d9f65a5..d75edb2e3bfe
$ git log a7974d9f6..d75edb2e3 --date=short --no-merges --format='%ad %ae %s'
2018-04-05 brianosman Revert "flop back to powf() for TF invert"
Created with:
roll-dep third_party/externals/skcms
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.
TBR=herb@google.com
Change-Id: I4f4639fe6b140e1b6ee6e5f2c0a307b72f736522
Reviewed-on: https://skia-review.googlesource.com/118951
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Sometimes CoreText just gives up on filling out kCTFontFormatAttribute
properly, in which case we need a simple fallback for format detection
which isn't so reluctant to determine the type. The strategy prior to this
change is to use the most common type (WindowsTrueType), but apparently
if a font is actually an OpenType CFF font but has a WindowsTrueType tag
as the first few bytes, CoreGraphics gives up and won't load the font. So
check if there are any CFF tables and, if so, mark the font as
OpenTypeCFF.
BUG=skia:7630
Change-Id: Ie974e6db031db13628d5a19962e23ce2bf127367
Reviewed-on: https://skia-review.googlesource.com/118887
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
The corresponding Chrome bugs have been fixed and this macro has not been defined in Chrome for some time.
Change-Id: I618283e7e6c409d96550fc5b1026c1618280246c
Reviewed-on: https://skia-review.googlesource.com/118888
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Handle all external slides (.skp, .jpg, .json, .svg) consistently:
* support both single-file/directory flags
* add "directory" slides for all types
Change-Id: I4881c51f597ed4cb2a5b4c61706a168c754a5a8f
Reviewed-on: https://skia-review.googlesource.com/119020
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
https://skia.googlesource.com/skcms/+log/3cb9ba6ae2d6..a7974d9f65a5
$ git log 3cb9ba6ae..a7974d9f6 --date=short --no-merges --format='%ad %ae %s'
2018-04-05 mtklein flop back to powf() for TF invert
2018-04-05 brianosman Run regression with two linear tolerances
2018-04-05 mtklein push profiles as part of android build
Created with:
roll-dep third_party/externals/skcms
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.
TBR=herb@google.com
Change-Id: Ibc898084cec9b02b4fd91ed268af404a7097c60f
Reviewed-on: https://skia-review.googlesource.com/118947
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>
Bug: skia:
Change-Id: Ia369a8f562c33e43248460076e8b6464add849a5
Reviewed-on: https://skia-review.googlesource.com/118980
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This provides an alternative way to access these values which will allow removal GrContext::caps() from public API
Change-Id: I53d3c00563da8847e1fc14aea9750dc9fd90d1e5
Reviewed-on: https://skia-review.googlesource.com/118962
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Currently Via*::draw checks against the reference
immediately, before the sink is completely finished. This causes
via-gl to fail, since GPUSink::onDraw does not even create the
target pixmap until after drawing the Src into the canvas. This puts off
the actual check against the reference until after the sink is finished,
allowing via-gl to work as expected.
Change-Id: If1a19cc73f184b836e3421a03966db0ee9918fbe
Reviewed-on: https://skia-review.googlesource.com/118627
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Don't need to assert here, we just won't write into all of the external memory
if its length is not a multiple of what we need.
Bug: skia:
Change-Id: I277653f5dc3b3d7560ab71a10440275f55430833
Reviewed-on: https://skia-review.googlesource.com/118884
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
bc54342bf6..dd196e0bc0
$ git log bc54342bf..dd196e0bc --date=short --no-merges --format='%ad %ae %s'
2018-04-04 lucferron Vulkan: Implement color mask and depth mask bits
2018-04-04 oetuaho Identify functions by unique id in BuiltInFunctionEmulator
2018-03-31 jmadill Vulkan: Rename StreamingBuffer to DynamicBuffer.
2018-04-02 lfy GLES1: Add MatrixType packed enum to entry points
2018-03-30 courtneygo Fix Tokenizer issue
2018-04-04 oetuaho Disallow case statements nested in blocks
2018-03-29 lfy GLES1: glMultiTexCoord4(f|x)
2018-03-31 jmadill Vulkan: Move image layout into helper.
2018-04-04 lucferron Vulkan: Follow up change to optimize number of condition checks
2018-03-29 lucferron Vulkan: Implement stencil test support
2018-03-29 lucferron Vulkan: Depth/stencil scissored clears
2018-03-31 jmadill Vulkan: Use DrawCallParams in draw methods.
2018-04-04 jmadill Move Buffer Subject/Observer to front end.
2018-04-03 oetuaho Validate gl_FragData and gl_FragColor access after parsing
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=herb@google.com
Change-Id: I0a836d1df056233b0201427633eabdd0d163c87e
Reviewed-on: https://skia-review.googlesource.com/118900
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
https://skia.googlesource.com/skcms/+log/d26d270c88d3..3cb9ba6ae2d6
$ git log d26d270c8..3cb9ba6ae --date=short --no-merges --format='%ad %ae %s'
2018-04-05 brianosman Remove auxiliary nonlinear parameters struct
2018-04-05 brianosman Go back to float precision throughout approximation code
2018-04-04 brianosman Remove nextafter, no need to nudge D any longer
2018-04-04 mtklein clean up isfinite_
2018-04-04 brianosman Remove all usage of libm / math.h
2018-04-04 brianosman Use portable transcendental functions in more places
2018-04-04 mtklein tweaks to build with clang-6 against GCC's math.h
Created with:
roll-dep third_party/externals/skcms
BUG=skia:
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.
TBR=herb@google.com
Change-Id: Ica6f44bc7b1a21ee60c9bf99b41bb87a5d06837c
Reviewed-on: https://skia-review.googlesource.com/118826
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Change-Id: I63477fd4b8d48dc50af72736f0f8df566cd96d4a
Reviewed-on: https://skia-review.googlesource.com/85220
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This undoes the original workaround[1] and moves it to our caps
workarounds. It also forces us to use the ESSL3 extension string when
applying the workaround, as that appears to be necessary. (Otherwise,
offending devices just fail to compile when using the older extension
string with a newer GLSL version).
[1] https://skia-review.googlesource.com/c/skia/+/114505
Bug: skia:7713
Change-Id: I9757034b282a663c6e4d5fd19889c977a12a4d91
Reviewed-on: https://skia-review.googlesource.com/118665
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I4a0259f82272099e08df0e7dea91489f6d641ca4
Reviewed-on: https://skia-review.googlesource.com/113670
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
This makes accessing the GPU resource behind an SkImage a lot more typesafe. Additionally, the GrBackendObject is being deprecated so this is the path forward.
I split the controversial stuff off into https://skia-review.googlesource.com/c/skia/+/118575 (Add SkImage::setLayout call).
Change-Id: I297e72770e8fb360fac7c7cd74f050ae759ae133
Reviewed-on: https://skia-review.googlesource.com/118571
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: I31f4f2aff4e35dac066d208a9048ab0f96020fd1
Reviewed-on: https://skia-review.googlesource.com/118681
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Inherited/outer local matrices are supposed to compose to the right of
(preconcat) other/nested local matrices.
BUG=skia:7781
Change-Id: Icd3c24f226845427be849a8be3d78293aef176b3
Reviewed-on: https://skia-review.googlesource.com/118344
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Keeping related heuristics in sync with actual shader capabilities is somewhat tricky,
and overall fragile.
So how about this: instead of an explicit opt-in mechanism, try to instantiate a legacy
shader context and fall back to raster pipeline on failure (null Context => implicit
opt-in for raster pipeline). Shaders can still choose not to draw by returning both a
null Context and failing appendStages().
BUG=skia:7772
Change-Id: I2e76f51af7064853a6cb851b4c30c82eba3ee828
Reviewed-on: https://skia-review.googlesource.com/118383
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Previously, the threaded backend failed to drawBitmapRect (see,
e.g., GM_bitmaprect_s) because it did not intercept the call to
SkDraw::drawBitmap.
Bug: skia:
Change-Id: I7eeaae98e63d726b2b566c4d15f7ea939f59360e
Reviewed-on: https://skia-review.googlesource.com/115983
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Change-Id: I783c0ad51a33e4731470f457132a1d20025a3431
Reviewed-on: https://skia-review.googlesource.com/118342
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
https://skia.googlesource.com/skcms/+log/7dd7eed65a72..d26d270c88d3
$ git log 7dd7eed65..d26d270c8 --date=short --no-merges --format='%ad %ae %s'
2018-04-04 brianosman Weight the D point heavily during nonlinear regression
Created with:
roll-dep skia/third_party/externals/skcms
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.
TBR=herb@google.com
Change-Id: Idcfb1702dba075dd87801a035d849818e9045562
Reviewed-on: https://skia-review.googlesource.com/118573
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>