Other code outside this namespace will want to use this method soon.
Bug: skia:10419
Change-Id: Ib155f224866fd333b8f9a4b78e6c9e51ac0600df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311936
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: Ic10676b76ec2ea93a280626a89ec8dadd7225bd6
Bug: skia:10619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311996
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Adds methods to measure the rotation angles of quadratics and cubics,
and to chop curves at locations that divide the rotation angle in half.
Bug: skia:10419
Change-Id: I840e12034fc66e1a459de875fefda07a27a78335
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308880
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Now that approxOpCount() can recurse into sub pictures,
adding ~0 will overflow its total count.
New tests fail at head, pass now.
Change-Id: Icdb7d8a062739724207c9a6369734510f00f2ffd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311774
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
It's been replaced with a `uniform half4` in tests where it was needed,
which tends to generate similar code overall.
Change-Id: Iacc062efaeae37ebecf78505abe0fc563b69ceb0
Bug: skia:10619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311099
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This method isn't used by anyone, and I needed to land SOMETHING
in the middle of banging my head against CL 310656 :-)
Bug: skia:104662
Change-Id: Iaf529ac7551b22213891eb4be78d7904938aa989
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311816
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
The original code assumed that the switch value and case value would
both be IntLiterals, and asserted if this were not true. However, in
sufficiently complicated cases, the switch value can sometimes be a
Constructor containing a scalar.
It's possible that there's a fix to constant propagation which would
flatten out this Constructor to just a scalar, but that has eluded me
for today, and this approach does seem to solve the issue. (Also, it's
surprising that the optimizer does not notice that it can simplify
`half4(1.0, 2.0, 3.0, 4.0).yyyy`.)
Change-Id: Id490b15c724dd174c448665a19242cc80cdce213
Bug: skia:10623
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311636
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Change-Id: I5b1baf2bc3aafa03c1d0cace4f7c09a09cf4a084
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311112
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This is only used by particles, benchmarks, and tests,
and should be swept away by dead code elimination otherwise.
Change-Id: I10462d6ae0a08dd8219fc49325160ec6790632af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311759
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
The as<T>() function asserts that the Symbol is of the correct kind
before performing the downcast, and is also generally easier to read
as function calls flow naturally from left-to-right, and C-style casts
don't.
This CL updates several Symbol downcasts in SkSL to the as<T>
syntax, but is not intended to exhaustively replace them all (although
that would be ideal). In places where we SkASSERTed the expression's
fKind immediately before a cast, the assert has been removed because it
would be redundant with the behavior of as<T>().
Change-Id: I33cb2b9657dc410241dbc96be85c4ce182a1b391
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311436
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
As these backends are never used at runtime, it's pointless to include
them in the Skia binaries. We still include them in GR_TEST_UTILS mode
to support unit tests.
Change-Id: I9ec9cc9300b74c501985656323ec894008255a70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311454
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
I don't know why the meat is in a separate file.
Change-Id: I9bbc475d1644dd1d596cb7c98ae0e0292846e5d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311585
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Allow the user of SkCustomTypefaceBuilder to set the SkFontStyle of the
resulting SkTypeface. This allows users to build font families.
Fix the Font_flatten test to actually work (instead of relying on the
magic behavior of nullptr for SkTypeface), add a test with the custom
typeface, and reduce the number of times the inner loop runs from
302,400 times to 4,032 times so that the test finishes in a reasonable
amount of time.
Bug: skia:10630
Change-Id: I0b5e939552ee4a9a1249eefbb7a7279a59b38e5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311596
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Xiao Yu <xster@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
For now this relies on system libs and requires explicit opt-in
(skia_use_sfml=true).
[1] https://www.sfml-dev.org/
TBR=
Change-Id: Iff89efdb4494f79530d0d41dee80ff38d4e75671
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310065
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Base the box size on the shader length (within reason).
Change-Id: If847cb4de0cea3cb2267f284fd5bbb653f25e185
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311455
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
While writing test code for skia:10623, I encountered a separate bug in
the SkSL compiler. Specifically, the codegen would assert when trying to
emit a function that returned an int. There were several basic types
missing from `glsltype_string`. I've added them, and created a unit
tests to exercise a subset of them.
Change-Id: Ied6aaacc67f472998cb6673490c4d98ce98886d2
Bug: skia:10631
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311453
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
This also shook out a few minor const-correctness issues which had been
masked by C-style casts.
Change-Id: I7680d43b1bb52c6e5d7c2e7e0f6d7e5ff7dea0d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311448
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: I4268a3dbc8b0d60f1824d09bd0be68b0f2aa7348
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311439
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
The as<T>() function asserts that the Statement is of the correct kind
before performing the downcast, and is also generally easier to read
as function calls flow naturally from left-to-right, and C-style casts
don't.
This CL updates several Statement downcasts in SkSL to the as<T>
syntax, but is not intended to exhaustively replace them all (although
that would be ideal). In places where we SkASSERTed the expression's
fKind immediately before a cast, the assert has been removed because it
would be redundant with the behavior of as<T>().
Change-Id: If92a1740d49c7670ded80cdbbfde67a7d5f73740
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311216
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
The sized type printf macros like PRId32 contain only the conversion
format specifier. The introductory '%', flags, width, precision, and
length modifier are separate and must be specified if desired.
Change-Id: I8a88d9ee8bebe0275eb712728e146393d7837280
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311441
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Bug: chromium:922430
Bug: b/135180511
Chromium has diverged from upstream libjpeg-turbo in order to take
advantage of SIMD optimizations that have not yet been merged into
upstream. Android is also interested in using these. Switch to the
version with the optimizations in order to test them.
Chromium has its own jconfig.h and jconfigint.h, so ours are never used
after the switch. Remove them. The only Skia-specific modification to
these files was to define flags to enable arithmetic encoding. Move
them to BUILD.gn, so they're still applied. Also remove jsimdcfg.inc,
which is currently unused. (It appears to be only for x86/x64, where we
are not building SIMD anyway.)
Update BUILD.gn to build SIMD files on arm. The existing ones have
moved, and there are new ones to build, too.
Change-Id: I47606609c23be43b319150ffb5a4fe55d8869755
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311105
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
The as<T>() function asserts that the Expression is of the correct kind
before performing the downcast, and is also generally easier to read
as function calls flow naturally from left-to-right, and C-style casts
don't.
This CL updates several Expression downcasts in SkSL to the as<T>
syntax, but is not intended to exhaustively replace them all (although
that would be ideal). In places where we SkASSERTed the expression's
fKind immediately before a cast, the assert has been removed because it
would be redundant with the behavior of as<T>().
Change-Id: I67e7de2697aee4d9d09e6594a9abc5f2ecacc887
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311114
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Hopefully, this will let Chrome track down promiseImage fulfillment
mismatches.
Bug: 1116848
Change-Id: Ia1e5d6f7af4e2808ae4adfad85f4e96c1ea4fbd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311096
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Objects in the symbol table are intentionally constant. However, when
converting "ExternalValue" AST nodes into symbols via symbol table
lookup, IRGenerator::convertIdentifier was casting away constness
because ExternalValueReference held a non-const pointer. Fixing this
involved significant ripple-effect additions of "const" throughout the
ExternalValue class and its subclasses.
These changes generally appear to be benign, but one interesting edge
case is `ExternalValue::write`, which intuitively does not seem to make
sense as a const method. However, invoking `write` should not alter the
ExternalValue object itself; rather, it is intended to alter the
*external value* that is being referenced. (In practice, nothing invokes
write() anyway except for one unit test, which continues to pass.)
This issue was discovered while converting casts to `as<T>()` calls.
Change-Id: I8ff6a477e475833d2a99c72f1c79c766b57767ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311276
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
a9b199b05c..dceaabb181
2020-08-18 jmadill@chromium.org Vulkan: Clean up ImageHelper barrier functions.
2020-08-18 ynovikov@chromium.org Re-enable a dEQP-EGL test on SwANGLE
2020-08-17 jmadill@chromium.org Vulkan: Minor cleanup to vk_helpers.
2020-08-17 cnorthrop@google.com Capture/Replay: Don't capture unused default uniforms in MEC
2020-08-17 cclao@google.com Vulkan: Add test for RGB texture not break renderpass
2020-08-17 jmadill@chromium.org Update commit ID when the git ref changes.
2020-08-17 cnorthrop@google.com Capture/Replay: Fix 1010102 vertex attrib type name
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 6eaf979e7366 to 99638d8d7fc6 (1 revision)
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 1980311465cf to c1db3b8e7960 (1 revision)
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from b4c4da3e7606 to b8de4f57e983 (4 revisions)
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from d253278f9865 to 758b30727efc (2 revisions)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: stani@google.com
Test: Test: Capture and replay first 1200 frames of COD.Test: Test: MEC capture of COD:Mobile
Change-Id: Ib796dbdba3720707f998177b07523d649c12f955
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310950
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: Id934558f413f0931282931764bd93d3c22c38115
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311101
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>
These are very easy to mis-read, and they don't make much sense.
Swizzles should refer to the base expression at least once.
Change-Id: I4c2740c7439a11b51b2eb41263c6435e3aefad35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310376
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Just wrapping the backend texture shouldn't invalidate any parameters.
Change-Id: I02859e519b2c8e9612533b2230da753d5fff97b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261084
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Since this doc was written, we've made several changes to how gradients
work under the hood:
- Colorizers receive the t interpolant via explicit-coordinate sampling,
not via sk_InColor
- Unused components passed to the colorizer are guaranteed to be zero
instead of potentially arbitrary values
- We no longer have a dedicated colorizer that is responsible for
sampling a generated texture map; GrTextureEffect is used directly
- Rewrote the section about how layout processors encode their return
value to hopefully be more clear to a reader unfamiliar with gradients
Change-Id: I037b5718c9f67a1bece96a9b6a4daea79ccdcd80
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311076
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
We now only support Wuffs v0.3.
Change-Id: Iaace012977ab88922ccdf2a929dc4c809bbb4047
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311016
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
- reset, findLastOf: these were entirely unused
- find: already existed in C++11's std::string, can just be inherited
- defaulted constructors: in C++11, these can be inherited directly from
std::string via 'using'
Change-Id: I1772ef04e49ab905aaada2ec38c1abeb9a8e26bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311039
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This brings the GrSmallPathAtlasMgr into closer correspondence with
the GrAtlasMgr.
It also centralizes where we update the GrSmallPathShapeData's
atlas information.
Change-Id: I892be262a85b3878dbd7f71b0503208943203d46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310476
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This fixes an issue on newer versions of Android where activities
with intent filters need to specify whether or not they are exported
in order to successfully complete installation on a test device.
Bug: b/163792247
Test: successful install on device with AOSP build
Change-Id: Iddeb27af55245e926dbf43c03ab48b257461188d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309980
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
eb85c0213d..a9b199b05c
2020-08-17 cnorthrop@google.com Capture/Replay: Add ability to override entry points
2020-08-14 jmadill@chromium.org D3D: disable to translate uniform block to StructuredBuffer
2020-08-14 jmadill@chromium.org Reduce spam in native perf tests.
2020-08-14 jmadill@chromium.org Vulkan: Switch buffer barrier check.
2020-08-14 nguyenmh@google.com Add unittests of ANGLE commit message format check
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 61bf3be73c1e to 527e67e9d933 (1 revision)
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 6b0de7007af5 to 1980311465cf (2 revisions)
2020-08-14 msisov@igalia.com X11 and Ozone: fix compilation of tests.
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cda86eff6461 to abe07b943855 (1 revision)
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from df859f77dab3 to b4c4da3e7606 (2 revisions)
2020-08-14 ynovikov@chromium.org Create dummy DEPS entry for Chromium.
2020-08-14 ynovikov@chromium.org Reenable AttributeLayout end2end tests on Linux SwANGLE
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: chromium:1085700,chromium:1112112
Tbr: stani@google.com
Test: Test: Capture and play back first 1200 frames of COD.
Change-Id: I9d496392e0c1668a7d347fae3c7583d903deddf7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310998
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>