This is a reland of 17f05c737e
Original change's description:
> Rename instanceAttribSupport -> drawInstancedSupport
>
> Change-Id: I7d8ff8597849f2b910928867842857e25a12b4b1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281582
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com
Change-Id: I2e15ac72d86747c30e71bb50d30da48a5a342772
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282118
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This is a reland of 4b239b1d50
Original change's description:
> Remove GrGLGpu mirror methods of GL draw calls
>
> Instead make these calls directly from GrGLOpsRenderPass.
>
> Change-Id: Id4d0812ca6b9242207e4f0c9130b43cfa375fd4f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281637
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com
Change-Id: I6a1b79534b236899bcc49a4acd23498be309d324
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282096
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
SK_SUPPORT_LEGACY_DIDCONCAT44
Change-Id: Ie208c245d7121fddc693a7d3c5d6866441c27433
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281864
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: Idcc598af6b3859d33b674402c973438ddfdd632b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282038
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
In inverted mode (Mode::kInverted), the trim result represents the
logical segment [stop..start] (wrapping around at the path's end).
We currently emit two segments [0..start] and [stop..1], in that
exact order. This behavior breaks continuity for single closed
contour paths.
Update SkTrimPath to
1) emit the segments in the correct order ([stop..1],[0..start])
2) skip the connecting moveTo for closed paths
Bug: skia:10107
Change-Id: Icd280554ba7291c985f504793feff104df2a4a99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281882
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Having GrAtlasManager.h in GrContextPriv.h was needlessly propagating dependence on that header.
Change-Id: Idf5836f1e217ecd2da91f751b488a63a884c02ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281739
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
-Rename all Debian9 jobs to Debian10
-Update GCE and Skolo OS names in gen_tasks to Debian10
-Begin using newly minted Debian10 Mesa drivers (for NUC7i5BNK-GPU-IntelIris640 machines)
-Followup CLs will bring remaining branches' tasks (and CQ) up to Debian10, likely once it has been deployed to 90% of the fleet.
-CQ sibling CL https://skia-review.googlesource.com/c/skia/+/281876
TBR: borenet@google.com
Bug: skia:9438
Change-Id: I917e93c2659b29f0bee7041e5a65c641642142a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281397
Reviewed-by: Weston Tracey <westont@google.com>
Today they all still use legacy or SkRP if applicable.
Returning nullptr makes us fall back into the normal
blitter choice flow.
This is an interesting integration point where we
could create an SkVMBlitter with a varying for the
color pipeline, bypassing the usual SkShader flow.
Change-Id: I6f5acadd2829bf39d82e7bcd144407cd9d97f1bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278811
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
The fiddle: https://fiddle.skia.org/c/1a0202dd230713064ad90b627c7de47d
highlighted an issue with the old conversion from float to int for the
mapped dilate/erode radii. Depending on the canvas matrix and the scale
extraction floating point error, the computed float raddi would be
very close to 1.0 (for a nominal radii = 1), but actually be 0.9999.
The floor would turn this into a 0 integral radius and then the image
filter implementation would determine that no operation was needed.
Switching to round fixes the issue present in the filter. This may
cause some GMs to change as it does change how the floating point radii
are mapped. Now, for fractional radii, we will jump up to the next
kernel size a little sooner.
The SVG spec appears ambiguous in terms of rounding behavior for these
scenarios. The other kernel-based image filters that I checked
(matrix, blur, drop-shadow) are all defined in device space, or use
a sigma to determine kernel size, so morphology filters are somewhat
unique. This means we don't need to worry about creating a
discrepency between this filter's kernel rounding behavior and other
filters' behaviors.
Bug: skia:10066
Bug: skia:10110
Change-Id: I6b3daa4c1242273ce924e22ba6de5eb25a7a96bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281731
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
I think this will let us land the sprite blitter change.
Change-Id: Ifee3a823e1389800f35e964413d816ea0b388364
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281787
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: Iff486ae8dbf94971cfd513954299e2635c13ef1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281585
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Bug: skia:9984
Change-Id: I237585fe8c7178f3a0a108afaa02d07fd8e202b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281438
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
This reduces the skm44_concat benchmark from 2us to .35us, a 5x
speedup.
SkCanvas.concat now takes a 3x2, 3x3, or 4x4 matrix and upscales
them all to 4x4. This makes concat44 redundant.
Removes redundant null checks for matrices, since freeing(0)
in WASM is fine like it is in C++.
Change-Id: I44a776ffd0babb81d8a34f9d94ae4d7831d02b55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281721
Reviewed-by: Mike Reed <reed@google.com>
This is a prerequisite change for the upcoming sample(child, matrix)
function. By itself, this CL doesn't really change anything; it just
adds an ownership tracking feature which sample(child, matrix) depends
on.
Change-Id: I98b12e5fb062a2535af367931e7a932ea9c63a59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281337
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Instead make these calls directly from GrGLOpsRenderPass.
Change-Id: Id4d0812ca6b9242207e4f0c9130b43cfa375fd4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281637
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
saveCamera() is no longer experimental
In a separate CL, will stage changes to concat virtual to take M44.
Change-Id: Iaf37ce2f24ab1223c54aeb1e79eaebf18f87fece
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281589
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Would be nice to eventually follow up with test involving camera.
Change-Id: I264d0a0dc3467a971103264df21701c094323b80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281719
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Causing flutter roll issues and we don't need it.
Bug: skia:10105
Change-Id: I2f0ec916984b33045fcd1961417b823f97355725
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281717
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
1cc49bb2e2..1c95795f1f
git log 1cc49bb2e230..1c95795f1fb3 --date=short --first-parent --format='%ad %ae %s'
2020-04-03 jmadill@chromium.org Use ImageIndex in ensureSubImageInitialized.
2020-04-03 jmadill@chromium.org Track rendering feedback loops by-context.
2020-04-03 m.maiya@samsung.com Add support for NV_shader_noperspective_interpolation
2020-04-03 jmadill@chromium.org Pass layer count to robust 2D array texure init.
2020-04-03 courtneygo@google.com Enable blob cache when debugging
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 499f6df688c9..9a283ae3457f (7 commits)
2020-04-03 jmadill@chromium.org Texture: Pass explicit unpack buffer to setImage.
2020-04-03 jmadill@chromium.org Vulkan: Fix FBO cache when updating disabled attachments.
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src ba07fa0be82c..bb74deab0a4d (1 commits)
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 0b66fa3b62cb..b5757b95005b (1 commits)
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader cb58662302c8..f99302c4efe6 (7 commits)
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src f20c0d7971c6..e95fbfb1f509 (7 commits)
Created with:
gclient setdep -r third_party/externals/angle2@1c95795f1fb3
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 csmartdalton@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: csmartdalton@google.com
Change-Id: Icc3c5e3716c22463f1de767a6752da980e5d242a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281696
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Note: works for well-formed poly-to-poly (perspective) transforms, but
doesn't support AE's degenerate corners semantics (concave/inverted
polys) at this point.
Bug: skia:10100
Change-Id: I5b3492b008302495b616867c139c6e5ad6dc57df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281595
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
bit_clear is at least useful as a special case for select(),
which helps with code readability.
Add is_NaN() and use these all together in sweep gradient.
Change-Id: I57a54f8956f85e0db0662b33f8446b8dc7342d8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281685
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
- new this-> convention: never use it when calling common public
Builder methods like splat(), bit_and(), etc like you'd see in
normal user code, but always use it when calling private methods
like this->push(), this->isImm(), this->allImm().
- use c++17 if-statements to scope this->allImm() variables tighter.
- check for x.id == y.id cases where applicable, including a tweak
to min() and max() to make them able to hit the special case.
- add special cases for I32 +,-,*, and remove an old unimportant
unit test that assumed we didn't fold these.
- add special cases for select(), and use select() in a few more
places where it's clearer and now just as efficient.
Change-Id: Idaac9250ac5a95a48d33eeba1cc4380c8c91629d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281678
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
The generic google notice didn't satisfy the dart script.
Tracked down this LICENSE at the root of the D3D12 Library project:
https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/LICENSE
This matches "the MIT" license mentioned in the d3dx12.h header, hopefully
that's enough for the license script to detect a match, w/o needing to
update the script itself.
Bug: skia:10105
Change-Id: I1d4bf52b888a13f6727503024cb8f3e933078542
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281594
Reviewed-by: Michael Ludwig <michaelludwig@google.com>