Commit Graph

55632 Commits

Author SHA1 Message Date
Florin Malita
c27e0dc64f [androidkit] Add an extra Skottie sample to CubeActivity
Also update SkottieSample to always clear its dest rect (for animations
which are not opaque).

Change-Id: I36c6172d468567ee8e03d97dd707e03ca968aa26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414898
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-06-02 18:10:06 +00:00
Florin Malita
0844cfa839 [androidkit] Add touch scroll/drag support to CubeActivity
Change-Id: If1edf8e374650ac3f464c5c08b3cf6cbb11034f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414397
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-06-02 18:09:26 +00:00
John Stiles
52cb1d059d Rename GrXferProcessor::DstProxyView to GrDstProxyView.
At present, only Xfer processors allow reading back from the destination
image since they are in charge of blending. However, we'd like to expose
the destination color to fragment processors and Runtime Effects in the
future. To make this possible, the DstProxyView will need to be
accessible outside of Xfer processors.

This CL migrates DstProxyView to be a top-level Ganesh class and fixes
up the references to it throughout Skia. It's interesting to note that
several call sites were already using typedefs to hide the class
nesting anyway.

Change-Id: I93a294aa097f9319a968503c4f2f7e4f388ff033
Bug: skia:12066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414899
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-06-02 18:00:47 +00:00
Nathaniel Nifong
2e76c84b8b Use WebGL2, not EGL, and don't use replace clip op.
Change-Id: I9e6ae22a646b9cf1f3c20857ffc50ecafe66174a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414903
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-06-02 17:00:19 +00:00
Brian Salomon
7db0e2f942 Remove wrapping of GL sync objects around EGL syncs in EGL test contexts
We did this to allow pipelining of GPU/CPU work in nanobench on devices
that don't have GL sync objects (or NV fence). However, we've found
that on the AndroidOne/Mali400 and Nexus7/Tegra3 devices that the
majority of a frame's work can be reordered to complete before an
earlier EGL sync. This makes the results unreliable, especially the
min_ms result. Just accept that we will sync the CPU and GPU on these
devices.

Change-Id: I04d168cbb05504d367f6a06b7b4903163ab2aa79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414897
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-06-02 16:21:43 +00:00
Joe Gregorio
5e6a1fec93 A set of scripts that analyzes jobs.json to look for possible holes in our
testing.

+rmistry for reviewing the scripts
+egdaniel for reviewing the Vulkan outpout.

Below are the three types of analysis done so far, showing
Test, Perf, and Vulkan jobs that are not being run:


$ make missing_test_jobs
cpu_or_gpu_value,model
Snapdragon808,Nexus5x


$ make missing_perf_jobs
cpu_or_gpu_value,model
AVX,VMware7.1
Rome,GCE
Snapdragon821,Pixel
SwiftShader,GCE


$ make missing_vulkan_jobs
cpu_or_gpu_value,model
AVX,VMware7.1
AVX2,GCE
AVX2,MacBookPro11.5
AVX2,NUC5i7RYH
AVX512,GCE
AVX512,Golo
Adreno330,Nexus5
Adreno418,Nexus5x
AppleA11,iPhone8
AppleA13,iPhone11
AppleM1,MacMini9.1
IntelBayTrail,NUCDE3815TYKHE
IntelHD2000,ShuttleA
IntelHD4400,NUCD34010WYKH
IntelHD6000,MacBookAir7.2
IntelHD615,MacBook10.1
IntelIris5100,MacMini7.1
IntelIris6100,NUC5i7RYH
IntelUHDGraphics605,Sparky360
Mali400MP2,AndroidOne
MaliT760,GalaxyS6
PowerVRGE8320,TecnoSpark3Pro
PowerVRGT7600,iPhone7
PowerVRGT7800,iPadPro
PowerVRGX6450,iPhone6
RadeonHD8870M,MacBookPro11.5
RadeonVega3,Spin514
Rome,GCE
Snapdragon800,Nexus5
Snapdragon808,Nexus5x
Snapdragon821,Pixel
SwiftShader,GCE
Tegra3,Nexus7

Change-Id: I18c1688fa20c73bfbaf36221596d7784dc0f1212
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414442
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-06-02 16:11:43 +00:00
Michael Ludwig
fa1cb40c2d Compute max inclusive vertex for drawIndexed in FillRectOps
Bug: b/188881498
Change-Id: If275e6f9aee1787bfd29dd08598c53f781ec9368
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414896
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-06-02 16:03:13 +00:00
Chris Dalton
feb099c403 Delete GrStrokeIndirectTessellator
Bug: skia:10419
Change-Id: I3393dbdbe33967d03e31ced4d1612fa228fc7acc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414584
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-02 15:50:53 +00:00
Kevin Lubick
72fb3fcdf0 [canvaskit] Use copy1darray to send arrays to JSSpan
This approach is 5 to 20x faster than the existing version,
mostly by minimizing the number of back-and-forths, especially
in the vanilla JS Array case.

Change-Id: Icb4212f781b80ef743f3deb1c17ea6af80ea828b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414517
Reviewed-by: Mike Reed <reed@google.com>
2021-06-02 14:18:59 +00:00
Kevin Lubick
8e89f60c49 [canvaskit] Update docs to account for API changes
canvas.flush() was removed. This updates all examples to
use surface.requestAnimationFrame(), which is cleaner.

Change-Id: I79fa308dc321865318b7f5d4723f3f803c0b071a
No-Try: true
Docs-Preview: https://skia.org/?cl=414856
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414856
Reviewed-by: Herb Derby <herb@google.com>
2021-06-02 14:15:18 +00:00
Robert Phillips
1e3121af47 Replace replaceSurfaceDrawContext with replaceBackingProxy
Change-Id: Iba2641f71bdc541d1a55a22c022031949c326c27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414444
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-02 13:35:53 +00:00
Robert Phillips
42754922fb Move GrRecordingContext pointer to SkBaseGpuDevice
Both SkGpuDevice and SkGpuDevice_nga have this pointer so, share it.

Change-Id: Iafabc51c344d9bdaead0a645ec54aec83fa508d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414441
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-02 12:54:43 +00:00
skia-autoroll
d51fbe1a78 Roll ANGLE from fe93fcdd1b48 to c12f594a19b1 (9 revisions)
fe93fcdd1b..c12f594a19

2021-06-01 geofflang@google.com GL: Chunk uploads of texture data >120kb on Mac.
2021-06-01 cnorthrop@google.com Tests: Require cube_map_array for cookie_run_kingdom
2021-06-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b46b97c10c10 to 90c0551ca547 (8 revisions)
2021-06-01 cnorthrop@google.com Tests: Add Subway Princess Runner trace
2021-06-01 syoussefi@chromium.org Add FastVector constructor with begin/end iterators
2021-06-01 cnorthrop@google.com Tests: Add Cookie Run: Kingdom trace
2021-06-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f7463350a894 to 6be0134d13be (5 revisions)
2021-06-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b1a19ff2a440 to 9fc71f2e66f4 (193 revisions)
2021-06-01 cnorthrop@google.com Capture/Replay: Force validation on when capturing

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 lovisolo@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
Tbr: lovisolo@google.com
Test: Test: Genshin Impact MEC
Test: Test: angle_perftests --gtest_filter="*cookie_run_kingdom*"
Test: Test: angle_perftests --gtest_filter="*subway_princess_runner*"
Change-Id: I2b36e6a63796827231fe12a7be48317604ee2646
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414593
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-02 04:59:59 +00:00
skia-autoroll
5163bf70bd Roll Dawn from f3db4dbca090 to 01407851360e (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/f3db4dbca090..01407851360e

2021-06-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b487c71e59d8 to 5ed3f68eb528 (6 revisions)
2021-06-01 enga@chromium.org Expand NonzeroTextureCreationTests to DepthStencil textures
2021-06-01 enga@chromium.org Expand coverage of NonzeroTextureCreationTests
2021-06-01 yunchao.he@intel.com Implement 3D texture copy splitter on D3D12: preparation
2021-06-01 brandon1.jones@intel.com Implement External Texture Binding Functionality
2021-06-01 enga@chromium.org Add utilities for printing Dawn enums and bitmasks
2021-06-01 guthmann.francois@gmail.com Added new toggle EmitHLSLDebugSymbols to improve shader debugging capabilities by external tools.
2021-06-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 126adb1bbbbb to b487c71e59d8 (5 revisions)
2021-06-01 cwallez@chromium.org docs/contributing.md: Explain how to start a review.
2021-06-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 39c05a902fda to 126adb1bbbbb (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 39c05a902fda to 5ed3f68eb528

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC enga@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-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: Icdf79fed9f915a8097f211c559b7359846f2bf75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414592
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-02 04:55:19 +00:00
Joe Gregorio
f4f9c3b6cc [nanobench] Report the ratio of median/min.
Bug: skia:12046
Change-Id: If47bb7c5ddfa19412dc058c9da8d2a1153167851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414337
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-06-01 21:57:56 +00:00
Chris Dalton
b63711a6c4 Hide path tessellation shaders in private files
Replaces the public class definitions with factory methods. Separates
the class definitions into their own separate files.

Bug: skia:10419
Change-Id: I574d920d5a3d0dc98fa5eb231c9b510e04aebf78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413796
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-06-01 21:37:57 +00:00
Chris Dalton
e79a6da3b5 Fix empty stroked rects with butt caps
Empty, stroked rects with miter joins and butt caps were behaving as
if they had square caps. This violated the SVG spec.

Bug: skia:11299
Bug: skia:12056
Change-Id: Ib6c9ef4f499eda1006060c90954553102f8cf506
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413476
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-01 21:32:56 +00:00
Joe Gregorio
c9b70c6543 Fix type in GPU name for one Adreno640 job.
Change-Id: I50e46d0919e3c5db391cba0477d4c8b2e82291b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414519
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-06-01 20:52:03 +00:00
Chris Dalton
98c1a81d47 Limit fixed count stroking to 32 parametric segments
Bug: skia:10419
Change-Id: I11fbcc74df5d79e20765acdd8d2841c8ffb8a357
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414496
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-01 20:46:33 +00:00
Chris Dalton
3b412788fd Move tessellation shader files into a subdirectory
Also renames GrStrokeShader -> GrStrokeTessellationShader.

Bug: skia:10419
Change-Id: I75b09f794ef86a4cd8c467a1fd61cc87fe68091b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413756
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-06-01 20:26:13 +00:00
Greg Daniel
1ebf23c95d Make sure we wait to call finishedCallback in vk setBackendSurfaceState.
Bug: b/189671648
Change-Id: Iae04853184a5fe12459469db5e129db0cb5719a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414520
Auto-Submit: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-06-01 20:15:53 +00:00
John Stiles
df3ed435a7 Fix bug number on TODO.
skia:8270 is the intended bug number. skia:8720 is an unrelated, closed
Flutter issue.

Change-Id: I20d55fd01f4f8f9a70f7295a4d3cfe12fdc5c378
Bug: skia:8270
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414518
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-06-01 19:48:18 +00:00
John Stiles
d774558eb1 Implement compile-time optimization for mix().
mix() has many overloads:
$genType mix($genType x, $genType y, $genType a);
$genType mix($genType x, $genType y, float a);
$genHType mix($genHType x, $genHType y, $genHType a);
$genHType mix($genHType x, $genHType y, half a);
$genType mix($genType x, $genType y, $genBType a);
$genHType mix($genHType x, $genHType y, $genBType a);
$genIType mix($genIType x, $genIType y, $genBType a);
$genBType mix($genBType x, $genBType y, $genBType a);

The top half were simple to implement via `evaluate_3_way_intrinsic`.

The bottom half--`x, y, $genBType`--required adding basic support into
`evaluate_n_way_intrinsic_of_type` for mixed argument types, since `x`
and `y` could be of any numeric type, but `a` is always boolean.
Fortunately, this didn't require major changes.

Change-Id: I015471f053c90d5a5c3ac67cc230d0f90950ff60
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414443
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-01 19:36:05 +00:00
John Stiles
598c5e5b07 Implement compile-time optimization for matrixCompMult().
$mat matrixCompMult($mat x, $mat y);
$hmat matrixCompMult($hmat x, $hmat y);

This required some minor changes to `evaluate_n_way_intrinsic_of_type`
to allow the inputs to be matrices instead of vectors. Fortunately, most
of the moving parts were already generic/flexible enough that this just
worked, but some explicit checks for `x.isVector` needed to become
`!x.isScalar()`, and `columns` needed to become `slotCount`.

Change-Id: I1e22ecad37a7e187a7171e1f590a720f07cf9832
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414436
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-06-01 19:35:23 +00:00
John Stiles
12eb0ee65c Add a new Program input indicating that dFdy() is used.
Change-Id: I87811860c3fb30682923c68cc2c5d8336b3d38e6
Bug: skia:12064
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414516
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-06-01 19:16:29 +00:00
Chris Dalton
2f733ec2dd Restructure path tessellation shaders
Merges the GrStrokePathShader and GrFillPathShader classes together.
Creates a new base class called GrPathTessellationShader. Now they all
have a uniform color and can all be draw to stencil and color both.
This is necessary cleanup in general, but will also allow us to create
a convex tessellation op that bypasses the stencil buffer.

Bug: skia:10419
Change-Id: Ifc492c94d3de044a36bd9ea95b1d5aa22e007905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413696
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-06-01 19:11:43 +00:00
Ethan Nicholas
8f73edeaf6 Added more SkTOptional APIs
This adds copy constructors / assignment operator, reset(), value(), and
has_value() to SkTOptional.

Change-Id: I564552a75a4c612685cdaa8e80e4359b394b64a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414338
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-01 18:54:13 +00:00
Herb Derby
d7f5bc80fb generalize allocation alignment for emscripten
Emscripten has a bug where its allocation do not align to
alignof(max_align_t). This is causing misalignment issues when
using SkParagraph in JavaScript.

Add the kAllocationAlignment to express this notion, and
us it when calculating additional memory allocation.

Change-Id: I62106d65333eca4d529b5f38a71b244b9192465e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414396
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Jiulong Wang <jiulongw@vibe.us>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-06-01 18:53:25 +00:00
skia-autoroll
4943421095 Roll SK Tool from 2d945d0755a2 to e6bce5f8148d
https://skia.googlesource.com/buildbot.git/+log/2d945d0755a2..e6bce5f8148d

2021-06-01 borenet@google.com [infra] Update to cpython3

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC borenet@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

Tbr: borenet@google.com
Change-Id: I411b7967f2db1cc6ce5f6e075551fd0c834fdde4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414381
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-01 17:47:54 +00:00
John Stiles
9df48c6ba6 Add test for literals that overflow int64.
This was handled properly, but lacked a test.

Change-Id: I84adc7cb3d37ab85eef945c1e38fc43c6cd8aa01
Bug: skia:10932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414437
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-01 17:34:23 +00:00
John Stiles
f9d1c159b3 Reorder intrinsics to match sksl_public.
This made it easier to confirm the missing intrinsics that we still need
to implement (`matrixCompMult` and `mix`), and is easier to read than
the previous code which was not really ordered in any logical way. I
also discovered that I had implemented a handful of intrinsics that
weren't strictly required for ES2 support.

Change-Id: I02cf3835e88417279335283c11a4dea2296d7107
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414336
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-01 16:40:33 +00:00
John Stiles
b0d93ccc90 Detect out-of-range integer assignment.
Now that we know the minimum and maximum values of a given integer Type,
we can check for assigment statements or variable initial-values that
exceed those bounds and report it as an error. This check should work on
anything that can be optimized or folded down to an IntLiteral, but
isn't meant to be 100% exhaustive.

Change-Id: I4473b5b003e1b8e3385943ce60e303e95664e8ba
Bug: skia:10932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413437
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-01 15:53:43 +00:00
John Stiles
c43dc5e038 Implement compile-time optimization for cross().
We need to be careful to distinguish cross(vec3, vec3)--a real built-in
intrinsic--from cross(vec2, vec2)--an inline function in sksl_gpu, but
not actually a legitimate GLSL intrinsic.

Change-Id: I7e78c99dadfcbb637ae55a2503acfb7e591c932e
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413440
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-06-01 15:51:53 +00:00
Florin Malita
a0317b8c41 [androidkit] Add runtime shader sample
Convert existing RuntimeShaderActivity to use RuntimeSample, and add
a couple to the cube demo.

Change-Id: Ibc6056cd6c7939c13bd902ce848c49a211b9b334
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413737
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-06-01 15:26:53 +00:00
John Stiles
b069582d16 Add regression test for oss-fuzz:32156.
The fuzzer found that it could overflow an int via a properly-crafted
constant-fold expression, leading to a UBSAN error. Constant-fold
expressions now guard against overflow (http://review.skia.org/413138)
and UBSAN is no longer triggered.

Change-Id: I07dba41e87bb9ceed37b84ec6b8922defbdc6550
Bug: oss-fuzz:32156, skia:12050
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413836
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-01 15:19:13 +00:00
John Stiles
e4ac484ac0 Implement compile-time optimization for atan().
This is one of the few compile-time constant functions with a variable
number of arguments, but it's otherwise pretty normal as intrinsics go.

$genType  atan($genType  y, $genType  x);
$genHType atan($genHType y, $genHType x);
$genType  atan($genType  y_over_x);
$genHType atan($genHType y_over_x);

Change-Id: Ie852e10f37d73d53f69e806550872bc015f802d6
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413439
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-06-01 15:16:43 +00:00
Brian Salomon
e60d268bd6 When faking GLsync with EGL insert eglSwapBuffers
A redo of https://skia-review.googlesource.com/c/skia/+/412636

Change-Id: Ib1a00e3404cab04a37d5a8f2c1fdcb74f54412a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412658
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-06-01 15:12:43 +00:00
Florin Malita
ce6fe3fe80 [androidkit] Add Skottie sample
Convert existing SkottieActivity to use a Skottie Sample, and also add
one to the cube demo.

Change-Id: I86193889d293ddd653b0cac7200e830fa873ea69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413736
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-06-01 14:33:14 +00:00
Florin Malita
8c8abd8f9f [androidkit] Start implementing reusable samples
Introduce a Sample interface for abstracting out various demos/samples.

Implement a simple image shader sample for starters.

Update the cube demo to map samples to sides.

Change-Id: I9c9c70fa05634404ced7bd30739f6e884546b91d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413441
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-06-01 14:33:14 +00:00
Florin Malita
4abf558c9f [androidkit] Relative-sized cube sample
Update the cube sample to be centered and sized relative to the target
surface.

Also simplify projection handling:

  - pre-compute a full view matrix in onSurfaceInitialized()
  - set the origin to the surface center
  - compute perspective and camera transforms in local coordinates
    (instead of unit view cube)

Also fix (invert) fling Y direction.

Change-Id: I48a3d0b4547812fb3c9b49a9842fb18c0ed0d863
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413436
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-06-01 14:33:14 +00:00
Brian Osman
491f412c94 Remove lua from DEPS
lua support was ripped out last September, this is unused

Change-Id: Icaddd042ceedd9261fe2f03ab581bb760b1b8fd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412959
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-06-01 14:03:43 +00:00
Robert Phillips
9af0bca3de Minor GrSurfaceDrawContext retraction
Change-Id: I2378ba6dbce1cf2371eec2dfcf73c3b9378ab832
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413456
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-01 12:36:43 +00:00
skia-autoroll
fe9b4316d8 Roll ANGLE from a9f26cc1ec75 to fe93fcdd1b48 (5 revisions)
a9f26cc1ec..fe93fcdd1b

2021-05-31 jonahr@google.com Workaround Mesa 20 Intel driver bug with GLX_OML_sync_control
2021-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8ea5e4dc6455 to f7463350a894 (5 revisions)
2021-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from a318ef0ca26e to 2e0ecf9812ba (1 revision)
2021-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from ed36a7408427 to b1a19ff2a440 (199 revisions)
2021-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from dd333551c971 to a318ef0ca26e (1 revision)

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 lovisolo@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
Tbr: lovisolo@google.com
Change-Id: I8deaa2a1c8ce8aea963777388cb7d08cf25d81c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414218
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-01 05:18:42 +00:00
skia-autoroll
2d3730fea6 Roll SwiftShader from f504d9ef5615 to 90c0551ca547 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f504d9ef5615..90c0551ca547

2021-05-31 capn@google.com Regres: Roll dEQP to 1.2.6-master revision 8010f59

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC lovisolo@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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: lovisolo@google.com
Change-Id: Ic1fc9950e36876e9967dc3734db79c121fcea402
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414217
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-01 05:04:43 +00:00
skia-autoroll
105286433d Roll Dawn from 2e660b38ec56 to f3db4dbca090 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/2e660b38ec56..f3db4dbca090

2021-06-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 52c37f354f2d to 39c05a902fda (3 revisions)
2021-05-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 34c58a932c2f to 52c37f354f2d (5 revisions)
2021-05-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8dd465a6f468 to 34c58a932c2f (1 revision)
2021-05-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d78f55390d82 to 8dd465a6f468 (3 revisions)
2021-05-31 cjj19970505@live.cn Disable OpenGLES in uwp compilation.

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from d78f55390d82 to 39c05a902fda

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC enga@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-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: Ibbd95c0b5d71720d2b3a31d138c4b0c3a8da5ba1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414202
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-01 04:51:43 +00:00
Chris Dalton
c7abc8bfa0 Disable the indirect stroke tessellator
TBR=bsalomon@google.com

Bug: skia:10419
Change-Id: I54d1a61e5551670cb905cfc03dfb245b91fc9832
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414236
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-01 04:03:53 +00:00
skia-recreate-skps
a9109c50fb Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Ic6aa56520ebdbd99b21fd4ac2f122697a3f395a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414156
Reviewed-by: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-06-01 01:07:26 +00:00
Mike Reed
77724af76c Add 'w'avy style to textedit
Change-Id: I337f4dff10f30aa248ebc520449f3b763ede0ed8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414096
Reviewed-by: Mike Reed <reed@google.com>
2021-05-31 20:43:39 +00:00
skia-autoroll
8942247ae4 Roll ANGLE from ce7d80bd43eb to a9f26cc1ec75 (4 revisions)
ce7d80bd43..a9f26cc1ec

2021-05-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from ea6189a7a67e to dd333551c971 (11 revisions)
2021-05-28 ynovikov@chromium.org Gold Tests: Fix batch result reporting
2021-05-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 012f2ef00731 to 8ea5e4dc6455 (2 revisions)
2021-05-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9e607ee51d46 to ed36a7408427 (195 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 lovisolo@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
Tbr: lovisolo@google.com
Change-Id: I562c1267da2d0f380f96ddf6eeff1087167c7129
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413998
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-31 05:27:24 +00:00
skia-autoroll
62f56462b5 Roll Dawn from 5b71d9dbd174 to 2e660b38ec56 (1 revision)
https://dawn.googlesource.com/dawn.git/+log/5b71d9dbd174..2e660b38ec56

2021-05-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from eaed2b6ce22c to d78f55390d82 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from eaed2b6ce22c to d78f55390d82

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC bclayton@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-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: I22460b540650fecade945032a7d68033a5cdf572
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413997
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-31 05:07:46 +00:00