Change-Id: I4c495beb1c08fcb42c5ea06c3ba97dce0bdf39cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279841
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
It wants a blank line before a comment, even though the comment isn't a
break.
Change-Id: I6a2988719942e5e72142b8484182c128392a4be8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279842
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Change-Id: Ifad098789fe381c15989ef0e5dd21d6b51dd8e50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279839
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This effectively reverts https://codereview.chromium.org/972153010/
Note that we have no such hard limit on SkShaders, and it's never
been a problem. Complex SkPaint objects can generate too many FPs
for us to handle, but those are rare, and better managed by just
reporting the shader compile error (which we do).
Change-Id: Iee5dc3d65ec130f2ce0a29e55fbe3c25b00dc828
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279836
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
It was only used for the sRGB color filter, and GrColorSpaceXformEffect
works just as well.
Change-Id: I6727d2bf7cc60a876742b0dbd980d8ef40ae16fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278788
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
We don't like this style, and it causes a bug (extra newline) when used
with ExperimentalAutoDetectBinPacking if named parameters have templated
types.
Change-Id: I8341591f10ed3bd2725c073b3e66a1f87713c04c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279838
Reviewed-by: Brian Osman <brianosman@google.com>
Unfortunately in clang 'deprecated' is both a set of warnings (at least
one of which we don't want) and a group of warnings (most of which we do
want). Leave the top level disabled, but re-enable all the warnings in
the group.
Most of the code changes are for the deprecated-copy diagnostic. In
C++11 implementing a copy constructor xor copy assignment operator
the default implementation of the other is still required to be the
default but is deprecated (the compiler can warn against doing this).
The idea is that if there was a need for a non-default copy constructor
or copy assignment operator then both should be implemented explicitly,
since it is unlikely that the default will do what is expected.
Note that the deprecated-copy-dtor has not yet been enabled as there
will need to be a lot more work to enable this diagnostic. Similar to
deprecated-copy, in C++11 when implementing a destructor the copy
constructor and copy assignment operator are still defaulted if not
declared, but this is also deprecated. The idea here is that if some
special handling is needed to destroy the object there is probably some
need to do something non-trivial when copying the object (or copying
should be disallowed).
Also, there are still some deprecated-declarations to clean up on
Android and Mac.
Change-Id: I5fc4b62713220e6f7d3724fd7342b4c8c74a3c67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278916
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
I'm not sure why this wasn't converted to using a GrSMDOH earlier.
Change-Id: Ie8b0e2ce3787dfef4459524eec671d769cacdb5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278465
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
6719f54ac7..f2bee3043a
git log 6719f54ac7ce..f2bee3043a5e --date=short --first-parent --format='%ad %ae %s'
2020-03-26 cnorthrop@google.com Capture/Replay: Implement more GLES entrypoints
2020-03-26 cnorthrop@google.com Roll glslang and Vulkan validation layers
2020-03-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src fb7f9c9bcd1d..0e78ffd1dcfc (1 commits)
2020-03-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src ff44f21a0178..acbf316040c3 (1 commits)
2020-03-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 540bdf92531d..77090261dabc (10 commits)
2020-03-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 1346dd5de119..fd773eb50d62 (4 commits)
Created with:
gclient setdep -r third_party/externals/angle2@f2bee3043a5e
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 robertphillips@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/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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: robertphillips@google.com
Change-Id: I972ba3f64891a0de91848e2c077efb30ac08227d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279758
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
I figured I'd get this in while it was on my mind.
The first order pattern we're implementing here is
return val == special_case ? p->splat(special_case)
: p->uniformF(uniforms->pushF(val));
which is, when we have a special case that we know skvm::Builder can
fold through, tell it about that by using splat() instead of a uniform.
That's exactly what we're doing for the bias column of the matrix;
adding zero will fold away into a no-op.
In the multiply we need to be a little more clever, because Builder will
not actually optimize x*0 into 0. That's only true for most values, but
notably not inf/NaN. So instead we do that folding ourselves, assuming
we won't encounter any inf/NaN color values (an untested assertion that
I trust you believe in).
smart_mad() is also a convenient place to test for 1*x+y -> x+y and
-1*x+y -> y-x. skvm::Builder would do the first if we splatted the
1.0f, and I'm not sure about the second, but since we're optimizing
ourselves anyway, might as well handle all three in the same way.
Change-Id: I1733ef948268144df98d6f83cd455087ceab05e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279541
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Like the Programs test, these fail randomly.
Bug: skia:9814
Change-Id: I4f3b6f2fc07db2cdc9ac580c224560bba4162788
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I8316c0b813c93eb53eefd254f6e7db23295e7db5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279416
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Previously, LayerIter called the base device iterator's next() call
during initialization. However, its next() call should be called instead,
since it does both the base device iterator.next() AND caches the
device's reported origin.
Without calling this->next(), the first device's origin would never be
fetched and the layer would report an incorrect origin.
Bug: b/151328374
Change-Id: I889673e2e93e54618544d62333bd9d04438bea00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279420
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Bug: skia:9935
Change-Id: I91b6218946ba04e893adaec3c0077653a62efe2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279136
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
In particular, X.h has "#define None 0L".
Change-Id: I25f0becc9debd2d18a1735c7f573c7b1ca2b4c8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279406
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Also renames GrD3DSurfaceResource to GrD3DTextureResource. This makes
things consistent with our naming convention in Vulkan, and with the
terminology used in Direct3D.
Bug: skia:9935
Change-Id: I6e6d2066ac70eb8a0d63c1b5731f31851a3017d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279338
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Remove as many setters as possible, make the constructors less
ambiguous, make it movable, remove USE_UNIFORM_FLOAT_ARRAYS.
Change-Id: I71397d04b5b5d6deb792d77cb98d629d42785f06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279218
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Ambiguity has come up re: what "tessellation" means in Ganesh. I
believe that, in the context of a graphics library, "tessellation"
should refer to the hardware pipeline feature of submitting patches
and tessellating them on the GPU. This CL therefore renames classes
that triangulate things on the CPU to call it "triangulation".
Change-Id: Ic8515ea6a33000f1b638a852d5122bc9bd6b38f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279236
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This reverts commit 81c8f4b802.
Other CLs have fixed the precision issue on Bifrost GPUs.
Change-Id: I155a33f7e11e56a8912ae1467d9e2acafab52d6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279042
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I1f1396060c1668002501b1befb20481557efd5d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279356
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Expose sk_program_transfer_fn helper.
Change-Id: I871b77ecb6733d73c8f900f0bce9f4f3d29b26ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279258
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This will let us use GrGLColorSpaceXform in place of GrSRGBEffect.
Change-Id: I478cde3cf5009e4af97056fbc733ac0ee0ba7785
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279139
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This is a reland of 4e79b6730d
Original change's description:
> Switch to using a Float32Array (bound as value array) for color.
>
> Change-Id: I1bcca931954b1399c79f4074a3d57a68847ac785
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276757
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
Change-Id: If6b9097b2fcd6b9dbf75c6dd22138e0b2531e70d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278780
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Need to expand the size of highcontrastcolorfilter gm, to show all cases.
Also enlarge labels so they can be read.
Change-Id: I8f9278e7ce2f06a9a6921d70f1f38dc18f9023d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279336
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
107e4e989e..6719f54ac7
git log 107e4e989e94..6719f54ac7ce --date=short --first-parent --format='%ad %ae %s'
2020-03-26 courtneygo@google.com Update Vulkan header and related repos
2020-03-25 cnorthrop@google.com Capture/Replay: Update CaptureReplay sample for compression
2020-03-25 cnorthrop@google.com Perf: Add a single Manhattan trace
2020-03-25 ynovikov@chromium.org Re-enable angle_end2end_tests on 32-bit Windows SwiftShader
2020-03-25 jmadill@chromium.org No-op draw calls with rendering feedback loops.
2020-03-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 6c11cf2ad9ca..540bdf92531d (2 commits)
Created with:
gclient setdep -r third_party/externals/angle2@6719f54ac7ce
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 robertphillips@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/+/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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: robertphillips@google.com
Change-Id: Ib7135db1cc7497f72d5c2e8b447bfe3ddf6168f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279248
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
It's possible for two types that look distinct (float4 vs half4) to
resolve to the same type ID in the SPIRV. If two function signatures
differ only in that way ("half4 foo(half4)" vs. "half4 bar(float4)"),
we'd end up generating two identical function type declarations, which
is a validation error.
Instead, key the declarations that we've already emitted by resolved
SPIRV Id, so we notice that those functions can share a single type
declaration.
Change-Id: Iea27101612f8990b3750424ca265ba04306f1f25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279217
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Actually don't snap the other coordinate.
This reverts commit 5575e3c4ea.
Change-Id: I7ef5c16ecbccf5131da595d2396243fbdefb4ddf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279140
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I62880a83d9b59d42c6491125e2a62338d2ce757f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279200
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Kind of a big rewrite to adapt to the new repository structure.
Change-Id: I7b437aaa6bdf684c4486fe91fe94984107b7f6f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279072
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:10080
Change-Id: I936d6d696c86c50d5b51dc84894127c38ad753d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279048
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Adds a "viewer" option to the build system that brings in tooling code
and sample code. Adds a very simple "MakeSlide" binding that knows
how to create the WavyPathText sample slide. Adds viewer.html with
code to animate viewer slides.
This can hopefully be the starting point for future work on bringing
viewer to CanvasKit.
Change-Id: Ia26e08726384b40b3f544fe8254f430dc9db08db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278892
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Change-Id: I54e4069134e66fee0bd85e96b5e9502a3c1fc7d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279087
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Updates the vertices_data GM to work on the GPU backend, too. For now,
it still works on the CPU via the original hack.
Bug: skia:9984
Change-Id: I2e11bd01e3cc953d2837ecd6ca8b2305b060e5fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278857
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>