Move from passing builder down the stack to passing the
object we really want to be the interface down the stack.
Move code that shunts from glyph run style to drawTextPos
to the SkGlyphRun from the builder.
Change-Id: Iefaca69104737ce46c06fbb26dc99996784b2bdb
Reviewed-on: https://skia-review.googlesource.com/135620
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
In the worst case we should compare each vertex in the polygon
to the others just once, so we should have at worst n^2 iterations.
Bug: skia:8079
Change-Id: Ic22064e86d6eb08d9165b2feb5050701ec8e9639
Reviewed-on: https://skia-review.googlesource.com/135865
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:8078
Change-Id: I8a45ce49b236ae0ad4c2176be71011c372c316ce
Reviewed-on: https://skia-review.googlesource.com/135861
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
To run this app, you need to create an out directory as such:
bin/gn gen out/arm64 --args='ndk="NDK_PATH" target_cpu="ABI"'
For now, the only supported ABI is arm64
Change-Id: I012f0c6a0550d80a0028f42177d5ca72974d848d
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/130980
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ziad Ben Hadj-Alouane <ziadb@google.com>
It's a tiny, core-ish component -- might as well treat as such to
simplify dependencies.
Change-Id: I6f31ce2d151f9a629d88bfc7f15d64891d5150c0
Reviewed-on: https://skia-review.googlesource.com/135780
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
We expect .BAT and .EXE to be on PATHEXT. Also, although Python
CreateProcess doesn't honor PATHEXT, it will try .EXE. This allows most
commands to be platform-independent, and also resolves the issue with
the cpython package not including python.bat.
No-Tree-Checks: true
Docs-Preview: https://skia.org/?cl=135626
Bug: chromium:852581
Change-Id: Iab4189407df44ff4ad4d37da07ff52414229d397
Reviewed-on: https://skia-review.googlesource.com/135626
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2dabb4a367..7df52383cf
git log 2dabb4a367c3..7df52383cfdf --date=short --no-merges --format='%ad %ae %s'
2018-06-19 lucferron@chromium.org Angle: Fix angle::Format's pixelBytes
Created with:
gclient setdep -r third_party/externals/angle2@7df52383cfdf
The AutoRoll server is located here: https://angle-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=kjlubick@google.com
Change-Id: I2f5be0801f772e037a19de23da15bfe4d79231d2
Reviewed-on: https://skia-review.googlesource.com/135740
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
make edits compile
Next time, could you put me on the review if you are going to
edit bookmaker files? I'm happy to preflight the changes
to see if they break the bots.
Docs-Preview: https://skia.org/?cl=135703
NOTRY=true
Bug: skia:6898
Change-Id: Iae054f19b131e894f73cedda279ee98af99e8c1c
Reviewed-on: https://skia-review.googlesource.com/135703
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
one from clusterfuzz, one from Skia fuzzer
R=kjlubick@google.com
Bug:853938
Change-Id: If456bf45e4d75edecf4e4e8222ddcdaa301455f4
Reviewed-on: https://skia-review.googlesource.com/135701
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
When possible, load 8 chars and mask out the tag and \0 terminator.
~19% faster on a Z840, ~5% faster on a PixelC.
Change-Id: I12d4b7d86c92c887b00f5d2480d3ff05a7042df1
Reviewed-on: https://skia-review.googlesource.com/135624
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
f6fd48fd32..2dabb4a367
git log f6fd48fd329f..2dabb4a367c3 --date=short --no-merges --format='%ad %ae %s'
2018-06-18 geofflang@chromium.org Make a context current when destroying it.
2018-06-18 ehmaldonado@chromium.org Remove DEPS .chromium
2018-06-18 fjhenigman@chromium.org Vulkan: fix third_party path.
2018-06-18 jmadill@chromium.org translator: Store symbol type in TField.
2018-06-18 lucferron@chromium.org SampleApps: Refactor to use cli args the same way
2018-06-18 lucferron@chromium.org Vulkan: Implement conversion to uint16 for drawElements with ubytes
2018-06-18 lucferron@chromium.org Vulkan: Fill in glslang resources with our caps
Created with:
gclient setdep -r third_party/externals/angle2@2dabb4a367c3
The AutoRoll server is located here: https://angle-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=kjlubick@google.com
Change-Id: Ic45c7072bd5d6a82649185d1469188a48910e796
Reviewed-on: https://skia-review.googlesource.com/135680
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
https://swiftshader.googlesource.com/SwiftShader.git/+log/700a1a67d569..1fa206780108
git log 700a1a67d569..1fa206780108 --date=short --no-merges --format='%ad %ae %s'
2018-06-18 sugoi@google.com Fixed size verification assert to include border
Created with:
gclient setdep -r third_party/externals/swiftshader@1fa206780108
The AutoRoll server is located here: https://swiftshader-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=kjlubick@google.com
Change-Id: I8c5c4c9adc708edcf2cc7fce0878125344f911b7
Reviewed-on: https://skia-review.googlesource.com/135521
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Use std::swap instead. It does not appear that any external user
specializes SkTSwap, but some may still use it. This removes all use in
Skia so that SkTSwap can later be removed in a smaller CL. After that
the <utility> include can be removed from SkTypes.h.
Change-Id: If03d4ee07dbecda961aa9f0dc34d171ef5168753
Reviewed-on: https://skia-review.googlesource.com/135578
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
This reverts commit 19c1233c44.
Reason for revert: want to make sure Google3 can roll
Original change's description:
> Change how vertex/instance attributes are handled in geometry processors.
>
> * No longer register vertex/instance attributes on base class, just counts
>
> * Separate instance and vertex attributes and remove InputRate and offset
>
> * Make attributes constexpr where possible
>
> Change-Id: I1f1d5e772fa177a96d2aeb805aab7b69f35bfae6
> Reviewed-on: https://skia-review.googlesource.com/132405
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com
Change-Id: I4800632515e14fbf54af52826928ac915657b59f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/135661
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
No-Tree-Checks: true
Bug: skia:
Change-Id: I08854d88e33d00e4bb56eb6eb346592618bd2693
Reviewed-on: https://skia-review.googlesource.com/135579
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Eric Boren <borenet@google.com>
This reverts commit 1c477fc263.
Reason for revert: Botpocalypse.
Original change's description:
> Remove old references to SampleApp
>
> Docs-Preview: https://skia.org/?cl=135570
> Change-Id: I330ffa964c2d90ca8d3cd844aabcd8616ccd0540
> Reviewed-on: https://skia-review.googlesource.com/135570
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=halcanary@google.com,brianosman@google.com,caryclark@google.com
Change-Id: I514e2c7bca8a1ebd311593573a94e8a078695785
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/135600
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This CL fixes b/110225902.
The PDF device was not taking x skew into account when
calculating positions.
Change-Id: I659dfeba0d31c8e1192cd3538b550c48cf5a835c
Reviewed-on: https://skia-review.googlesource.com/135569
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Herb Derby <herb@google.com>
I encountered some trouble getting this turned on in Chromium,
so we've got some undesirable skew between what's tested and shipping.
No one has complained about software rasterization perf to me lately,
so let's just drop this, keeping the already-launched highp
bilerp_clamp_8888 stage.
Change-Id: I9a6557d9b468765989f97369a976c5028f81eab3
Reviewed-on: https://skia-review.googlesource.com/135563
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Change-Id: I0181ddfd7b75cd7ffb7002b7038a99419ea876f2
Reviewed-on: https://skia-review.googlesource.com/135562
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
SkTCast is functionally equivalent to reinterpret_cast.
The comment about SkTCast helping to avoid strict alising issues is not
true. Dereferencing a pointer cast to a pointer of an unrelated type is
always undefined, even if smuggled through a union like in SkTCast.
To really avoid aliasing issues, you need to make a union[1] of the two
value types, or better, memcpy between values. I've had to fix
MatrixText.cpp where switching to reinterpret_cast actually let Clang
notice and warn that we're exploiting undefined behavior, and
GrSwizzle.h and SkCamera.cpp caught by GCC.
I've switched SkTLList over to use SkAlignedSTStorage, which seems
to help convince some GCC versions that fObj is used in a sound way.
[1] The union punning trick is non-standard in C++, but GCC and MSVC
both explicitly support it. I believe Clang does not officially
explicitly support it, but probably does quietly for GCC compatibility.
Change-Id: I71822e82c962f9aaac8be24d3c0f39f4f8b05026
Reviewed-on: https://skia-review.googlesource.com/134947
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
* No longer register vertex/instance attributes on base class, just counts
* Separate instance and vertex attributes and remove InputRate and offset
* Make attributes constexpr where possible
Change-Id: I1f1d5e772fa177a96d2aeb805aab7b69f35bfae6
Reviewed-on: https://skia-review.googlesource.com/132405
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
50cf2be075..f6fd48fd32
git log 50cf2be0758b..f6fd48fd329f --date=short --no-merges --format='%ad %ae %s'
2018-06-18 lucferron@chromium.org Vulkan: Get uniform for array of matrices fix
Created with:
gclient setdep -r third_party/externals/angle2@f6fd48fd329f
The AutoRoll server is located here: https://angle-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=kjlubick@google.com
Change-Id: I823ad862c48d85e7a7be2f1c5fb9ef667970db2e
Reviewed-on: https://skia-review.googlesource.com/135520
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Convert all uses to GrColorSpaceXformEffect
Change-Id: Icc9d093a00450001c1b915db7a8676c9c66073b1
Reviewed-on: https://skia-review.googlesource.com/132090
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Implement caching as follows:
1) Instead of deleting the mainline ccpr atlas when finished, stash it
away from flush to flush.
2) On subsequent flushes, check the stashed atlas to see if we can
reuse any of its cachable paths. Copy reusable paths into 8-bit
literal coverage atlases and store them in the resource cache.
3) Recycle the stashed atlas texture for the remaining paths in the
flush.
Bug: skia:
Change-Id: I9b20fbea708646df1df3a5f9c044e2299706b989
Reviewed-on: https://skia-review.googlesource.com/134703
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Change-Id: I63ba2424bd70f53c14d15bb332a585881d2c4613
Reviewed-on: https://skia-review.googlesource.com/135451
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Make GrColorSpaceXform a wrapper over SkColorSpaceXformSteps, and
removed the xform cache. The shader code does up to five steps to
correctly transform (unpremul, linearize, gamut, encode, premul).
Remove all clamping, so we can support sRGB encoded F16.
Most of https://skia-review.googlesource.com/c/skia/+/132090,
except that GrNonlinearColorSpaceXformEffect is still used for
SkColorSpaceXformCanvas and a few other places. As a result,
this doesn't trigger any layout test failures.
Change-Id: I789a5e327a419b5f7634c00d1b355912046c07b7
Reviewed-on: https://skia-review.googlesource.com/135326
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Add faster path for simple but common path ops:
- intersect two rects
- all ops where one operand is empty
R=halcanary@google.com
Bug: skia:8049
Change-Id: I2a516d095feae8478ee9433262c9c77e5e18ce81
Reviewed-on: https://skia-review.googlesource.com/132929
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
We currently blow through string chars without checking for end-of-input.
Maybe we could avoid this upfront, when we locate the stop char: try to
determine if it's part of an unterminated string, fail immediately if
so. Figuring out if the tail is an unterminated string seems
intractable though (requires arbitrarily deep tail parsing).
That brings us to plan B:
* treat scope-closing tokens (} & ]) as string terminators
(we know end-of-input points to one of these for sure)
* adjust matchString() to check for end-of-input
Bug: oss-fuzz:8899
Change-Id: Ic0a88a405548e8724b76faca525099a7e7037341
Reviewed-on: https://skia-review.googlesource.com/135145
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This simplifies the handling of paint color conversion, as well as
GrDrawVerticesOp and the default geometry processor. We don't need
to track "linearize" separate from the color space xform. We only
supply an xform if needed. The linearize is now done automatically
by the xform, though we aren't converting to destination gamma.
https://skia-review.googlesource.com/c/skia/+/132090 will fix that.
Change-Id: I0af3f29c123c3dadb818f87c5d295bc78e2ff079
Reviewed-on: https://skia-review.googlesource.com/135141
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>