Commit Graph

55388 Commits

Author SHA1 Message Date
John Stiles
7cfa1ce9db Implement compile-time optimization for faceforward().
This implementation leans heavily into DSL. I also reworked the
`normalize` intrinsic to use more DSL to shrink the implementation.

$genType faceforward($genType N, $genType I, $genType Nref);
$genHType faceforward($genHType N, $genHType I, $genHType Nref);

Change-Id: I73ab11d3fe449d2f2c0ae0d745fc39824fc64771
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412637
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>
2021-05-26 16:28:48 +00:00
Brian Salomon
3af709f71a When faking GLsync with EGL insert eglSwapBuffers
Change-Id: I5db86b4b0d695e74c14d48c9c29464dade2af442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412636
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-05-26 15:46:48 +00:00
John Stiles
3ef2c61c50 Implement compile-time optimization for normalize().
This one is structured a bit differently; it gets to length() value,
then divides the input by its length using a bit of DSL. Since all the
inputs are constant, the constant-folder will do the right thing.

$genType normalize($genType x);
$genHType normalize($genHType x);

Change-Id: I51e5c65fa9e33738cbe253fcc97ee2160c48cfdd
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412340
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 15:06:08 +00:00
John Stiles
419d2ced2d Implement compile-time optimization for dot().
float dot($genType x, $genType y);
half dot($genHType x, $genHType y);

Change-Id: Ia8b893eaddd8b4325c34143c80fb0ae05b111666
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412339
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 15:05:08 +00:00
Chris Dalton
ca911aee63 Remove non-conic stroke shader specializations
Every stroke shader just has conic branches now. The conic/cubic math
is mostly unified anyway, so a couple small branches shouldn't affect
perf.

Bug: skia:10419
Change-Id: I7690e54e61413902dd9836da532faf6383fb73b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412456
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-26 15:00:18 +00:00
Chris Dalton
64d06ba897 Delete identity matrix shaders from tessellation
Every shader always has a matrix now. The 4 FMAs (literally) that this
saved by specializing the shader weren't worth it.

Bug: skia:10419
Change-Id: I506dbd6d723f6dd022345956fdb5b60b0dd94932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412416
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-26 14:58:58 +00:00
John Stiles
e1c2beb3be Implement compile-time optimization for distance().
float distance($genType p0, $genType p1);
half distance($genHType p0, $genHType p1);

Change-Id: I492a90c0fe5c950c878752d45c3b2dc6f2cd866e
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-26 14:11:58 +00:00
John Stiles
f9c2323f37 Turn evaluate_intrinsic_(float1|bool1) into a template.
Not a big deal, but reduces redundant LOC in here a bit.

Change-Id: If917c09b0ea5dee17978e12795fd3e3d8974d37d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412378
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-26 14:07:49 +00:00
Kevin Lubick
0fb5e6290f [infra] Use different dimensions for different XCode versions
This depends on https://chrome-internal-review.googlesource.com/c/infradata/config/+/3860969

Bug: skia:11129
Change-Id: I5bffae04581cb28eb67f278b005d480335c198f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412297
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2021-05-26 13:28:28 +00:00
skia-autoroll
1a7fb9b396 Roll Dawn from e1598e4891ec to 44fc6e3ab55d (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/e1598e4891ec..44fc6e3ab55d

2021-05-26 jiawei.shao@intel.com Remove DAWN_SKIP_TEST_IF -- Part II
2021-05-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4fe6cb98e219 to 81cbe07c12db (1 revision)
2021-05-25 jrprice@google.com Remove use of deprecated `const` in WGSL
2021-05-25 jiajia.qin@intel.com Remove the suppression on use_tint_generator

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 4fe6cb98e219 to 81cbe07c12db

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: I2cda0bf44f23809b006596fd05d83c3d8882c595
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412403
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-26 05:01:49 +00:00
John Stiles
9b2baac1d6 Implement compile-time optimization for length().
float length($genType x);
half length($genHType x);

Change-Id: I65b64fdba5f7bd53afba1d6f930217e3f1bd6f6e
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412377
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 00:58:53 +00:00
John Stiles
e5240a2498 Implement compile-time optimization for mod().
$genType mod($genType x, float y);
$genType mod($genType x, $genType y);
$genHType mod($genHType x, half y);
$genHType mod($genHType x, $genHType y);

Change-Id: I406eafbe824d7aa55012196521e6f10cac50ed19
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412376
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 22:07:53 +00:00
Chris Dalton
ad5b44720f Improve hw tessellation coverage on "GpuTess" dm bots
Enable hardware tessellation as much as possible with --alwaysHwTess.
Use --maxTessellationSegments 16 to verify the chopping logic.

Bug: skia:10419
Change-Id: I1a37a6a8700ad16197251a753d40b0d3aaeecb8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412296
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-25 21:13:06 +00:00
John Stiles
4987c4af49 Implement compile-time optimization for smoothstep().
$genType smoothstep($genType edge0, $genType edge1, $genType x);
$genType smoothstep(float edge0, float edge1, $genType x);
$genHType smoothstep($genHType edge0, $genHType edge1, $genHType x);
$genHType smoothstep(half edge0, half edge1, $genHType x);

Change-Id: Idf6a39fab8d5b81d4a3233444a8b381460cbde71
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412356
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>
2021-05-25 20:32:46 +00:00
John Stiles
27724cd169 Disable SkSL test for clamp().
Test is failing on Adreno 6xx + Vulkan.

Change-Id: I8e5e97c82622c77385baef2c71d9381203221139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412238
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>
2021-05-25 19:10:49 +00:00
skia-autoroll
fb98441e87 Roll SK Tool from e0bb16c650f5 to ecd65ead0e34
https://skia.googlesource.com/buildbot.git/+log/e0bb16c650f5..ecd65ead0e34

2021-05-25 rmistry@google.com Use main branch in go/gitiles
2021-05-25 rmistry@google.com [CT] Update master branch references to main

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 kjlubick@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: kjlubick@google.com
Change-Id: I170344e6b60b61a0f1441d0b2d0f3058e0042270
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412199
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-25 19:05:46 +00:00
Florin Malita
ee7e22acd2 [androidkit] Add fling support to cube demo
Change-Id: Id3c2eb72e70a3c9c2181c8aff7770aafa7a520d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412236
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-05-25 18:31:26 +00:00
Brian Osman
9a4c965b2b Remove GrBlurredEdgeFragmentProcessor, use GrRuntimeFPBuilder
Change-Id: Ia5d849a2ab3fc233c4feacb5198a0684978ca3a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410794
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-25 18:26:12 +00:00
Kevin Lubick
0873ac9b1d [infra] Remove skqp build and test
Change-Id: I5748648374395e50539eeaa69d8913ee05c67e2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411840
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2021-05-25 18:05:42 +00:00
Chris Dalton
569c01bfa2 Simplify heuristics for selecting path tessellators
Now that hardware tessellators chop, support raw triangles, and can
handle any path, we don't need complicated logic anymore to determine
when we can't use them. This CL simplifies the criteria for selecting
a tessellation algorithm and adds a fAlwaysPreferHardwareTessellation
context option to override it.

Bug: skia:10419
Change-Id: I8492e8f285ff27eb9d0dd6b1e9817dbeeb386c63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411496
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-25 17:23:02 +00:00
John Stiles
017ffd7e05 Implement compile-time optimization for step().
$genType step($genType edge, $genType x);
$genType step(float edge, $genType x);
$genHType step($genHType edge, $genHType x);
$genHType step(half edge, $genHType x);

Change-Id: If52634d7a247772e922cb3fd2e3e8a7c36c275f6
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411842
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-25 16:59:22 +00:00
John Stiles
0727a80885 Implement compile-time optimization for clamp().
$genType clamp($genType x, $genType minVal, $genType maxVal);
$genType clamp($genType x, float minVal, float maxVal);
$genHType clamp($genHType x, $genHType minVal, $genHType maxVal);
$genHType clamp($genHType x, half minVal, half maxVal);
$genIType clamp($genIType x, $genIType minVal, $genIType maxVal);
$genIType clamp($genIType x, int minVal, int maxVal);

Change-Id: I726270e84fca781825e59abed0c8c7d099ca7444
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411839
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>
2021-05-25 16:25:42 +00:00
Brian Osman
8cdf28fe2d Elide sample coords for GrSkSLFP if only used for pass-through sampling
If every use of the coords passed to main was for a call to sample that
was converted to pass-through sampling... We don't actually reference
the sample coords, so we can un-set the flag. This prevents the FP from
requesting an extra set of (unused) coords, which saves a varying
between the vertex and fragment shaders.

Bug: skia:11869
Change-Id: I4e15876031717b8bcf642e742bad8ae26d6bd020
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411871
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-05-25 15:35:56 +00:00
Robert Phillips
0095fcb5eb Make SkBaseGpuDevice sufficient for GrVkSecondaryCBDrawContext
Change-Id: Icb400a8826a42cabe8e12ef6648435ab63e15d88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411899
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-05-25 15:31:11 +00:00
Brian Osman
70ae4c8ef0 Add test for runtime effects that don't need sample coords
As explained in the bug and comment - if the only reference to sample
coords is from a sample call that gets converted to pass-through, we
don't *actually* need the coords. We don't realize that with today's
analysis, so we end up generating a set of coords for the FP, which is
wasteful (adds an extra varying).

Bug: skia:11869
Change-Id: Iff818bb2c3deb96162a8cf107ccf4ecb35344bb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411244
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-25 15:30:51 +00:00
Jorge Betancourt
4453c9add2 [androidkit] add navigation spinner to demo
-add navigation ui element to demo layout
-simplify demo layout, inflates faster

Change-Id: I232bbc553cd0143893fc20e3c218fa5a6c4006ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411311
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-05-25 15:25:11 +00:00
John Stiles
7f17d36c2c Implement compile-time optimization for min() and max().
`evaluate_intrinsic_1_of_type` was rewritten and now supports up to
three arguments. The following APIs are now optimizable:

	$genType min($genType x, $genType y);
	$genType min($genType x, float y);
	$genHType min($genHType x, $genHType y);
	$genHType min($genHType x, half y);
	$genIType min($genIType x, $genIType y);
	$genIType min($genIType x, int y);
	$genType max($genType x, $genType y);
	$genType max($genType x, float y);
	$genHType max($genHType x, $genHType y);
	$genHType max($genHType x, half y);
	$genIType max($genIType x, $genIType y);
	$genIType max($genIType x, int y);

Change-Id: I0a6467fb60b008b61e8b6a7affaebfcb15f5f7a9
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412057
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 14:52:11 +00:00
Robert Phillips
5ccb4c1b1d Make SkSurface_Gpu::getDevice return a SkBaseGpuDevice
Change-Id: Ib678324849a15204c910df3361d7fd061cae1bb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411900
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-05-25 14:47:51 +00:00
John Stiles
37cf46f0e5 Reduce code size by using std::function.
Previously, `evaluate_intrinsic_1_of_type` and related functions were
all templated on the lambda expression of each evaluation function, so
every intrinsic generated a copy of each function. In most cases this
could be replaced by a std::function which takes and returns a float,
bool or SKSL_INT. (This level of flexibility was only truly necessary
for `evaluate_intrinsic_numeric1`.)

Change-Id: I2a4bd5984d74bb97bffd31018c9cf3dba17e8450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412056
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>
2021-05-25 14:43:51 +00:00
Tyler Denniston
966fb69e5d Add gm for inner join geometry
These paths trigger cases where we know we must add the inner join
geometry.

Bug: skia:11964
Change-Id: I9c66baf6a9f9fda55911651adae01ba1a22b3aa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408156
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-05-25 14:21:11 +00:00
Chris Dalton
c91dd69279 Update GrFillBoundingBoxShader to use attribs
Uses an instanced attrib instead of a uniform to access the bounding
box. This will allow for batching and fewer uniform updates.

Bug: skia:10419
Change-Id: I522b4a29835564f89294a02ee4edc7a866812164
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411976
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-25 14:13:21 +00:00
Ethan Nicholas
4ed2baa981 Added skstd::optional
This is needed by the upcoming DSLParser.

Change-Id: I54a0714e55feeb78894df766b14c795970f2c2d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411308
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-25 14:10:11 +00:00
Ravi Mistry
6576de67a4 Test master branch deletion
No-Tree-Checks: true
Bug: skia:11987
Change-Id: I79988eeed12548f29c8d0edba33924fb505ef051
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411777
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-05-25 13:20:41 +00:00
skia-autoroll
30fd35da01 Roll Dawn from df7ddab82562 to e1598e4891ec (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/df7ddab82562..e1598e4891ec

2021-05-24 rharrison@chromium.org Migrate Linux CQ from Xenial to Bionic
2021-05-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from bcefe46f449e to 4fe6cb98e219 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from bcefe46f449e to 4fe6cb98e219

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: Ib37e521b61e9f9097c681685de24ad637c65162a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412041
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-25 05:14:10 +00:00
skia-autoroll
d9fe013c6f Roll ANGLE from c229ccfeea64 to 91e693afce9b (3 revisions)
c229ccfeea..91e693afce

2021-05-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 024bf32587e5 to b46b97c10c10 (3 revisions)
2021-05-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 15fd0774bd48 to 1e60587ea42c (13 revisions)
2021-05-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from dbbe4e524711 to 8023f14612cf (453 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 jlavrova@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: jlavrova@google.com
Change-Id: I514f5b25dffccc945a174083759589b77f925d7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412042
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-25 05:08:40 +00:00
John Stiles
443fa19832 Implement compile-time optimization for sqrt(constant).
Change-Id: I3427fbaf57787c3051db95ec5882c9292d7985cf
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411312
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 04:43:10 +00:00
Chris Dalton
8606cec341 Reland "Re-enable tessellation for cacheable strokes"
This is a reland of 5e1f135376

Original change's description:
> Re-enable tessellation for cacheable strokes
>
> Now that the fixed count stroke tessellator has landed, these should
> hopefully not regress performance.
>
> Bug: skia:11138
> Bug: skia:11139
> Change-Id: I1a7d756e2a8a55f9ad4aaed716e4816b342b3b4f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404398
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: skia:11138
Bug: skia:11139
Change-Id: Iae649858844eb9fc304a84e902247edd128f2201
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404857
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-24 22:12:58 +00:00
Brian Salomon
215a7e6fbb Fix ATRACE macro usage after param change
changed from left,right,width,height params to rect.

Change-Id: Idc7e337a1c37d8cc297a1e3cf4ff7c4b6e288c43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411875
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-24 21:45:59 +00:00
Brian Salomon
6be4e45d8b skip, don't fail, yuva420_odd_dim_repeat on abandoned context.
Change-Id: I8ad55b10af7ec0f442ac48020f8bb2660798cff4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411872
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-24 20:16:14 +00:00
Robert Phillips
77ecfc92e4 Add clip id to ngatoy's SortKey
Change-Id: Ic972dfcf13b9807669d0fb29c73dca8d6a9cd939
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410816
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-05-24 19:43:15 +00:00
Robert Phillips
779125d7bc Cleanup SkGpuDevice factory functions a bit
This CL:
Clumps the proxy creation & device creation parameters together in the factories
Makes the raw SkGpuDevice factory take a "const SkSurfaceProps&"
Makes both the proxy-wrapping & raw factories call the SDC-based factory

Change-Id: I73fe88b639c015691fbbccdd9ff0acf2f0dad34c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410956
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-05-24 19:02:45 +00:00
Brian Salomon
e2078f1106 Make GrGpu pixel ops functions take SkIRect instead of LTRB params.
Change-Id: Ic4a8a32a434485b84284decbcc5a8f898197169a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408359
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-24 18:56:38 +00:00
skia-autoroll
f76602e3bf Roll SK Tool from c302f28e836a to 831c9fe9d89a
https://skia.googlesource.com/buildbot.git/+log/c302f28e836a..831c9fe9d89a

2021-05-24 kjlubick@google.com [infra] Reference main branch for docs/playbooks
2021-05-24 borenet@google.com [status] master -> main
2021-05-24 rmistry@google.com [docker_pushes_watcher] Fix Dockerfile
2021-05-24 rmistry@google.com Update +show references to master
2021-05-24 kjlubick@google.com [gold] Skip test that needs now() mocked
2021-05-24 borenet@google.com [sk] Fixes for release-branch

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 kjlubick@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: kjlubick@google.com
Change-Id: I55ed86caea78ec63981f70c51cc1dcd9c0ece3ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411751
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-24 18:20:43 +00:00
Robert Phillips
4b73228b07 NGA sorting playground
Change-Id: Ib73dd51f3f558aa6c6b98aa611da116d8906bf7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397284
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-05-24 17:49:57 +00:00
Eric Boren
015069cb04 [infra] Add bin/fetch-sk
Downloads the version of 'sk' indicated in DEPS.  Tracks the version ID
and sha256 sum of the downloaded executable to ensure that the correct
version is obtained.

Change-Id: I8d54f9e0159141b3582f2d08b9f1e397bfc60e7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411776
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-05-24 17:42:17 +00:00
Brian Osman
cd5713af6e Remove sampler support from .fp files
Change-Id: I46e5bc6d39aa185b26436e1795f50a0c7bb9905b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411307
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-24 17:24:54 +00:00
John Stiles
639e812d9f Remove usage of sqrt() as an optimization barrier in tests.
In the majority of cases, a uniform is an equally good substitute, and
replacing `sqrt(N)` with `unknownInput` actually makes the test clearer.

Change-Id: I7bcb477571972d7aa2ce8c49b3674471f7310748
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411306
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-24 17:18:54 +00:00
John Stiles
b639792f71 Re-enable all matrix-related tests on Adreno.
Our matrix-comparison workaround should allow these tests to pass now.

Change-Id: I6e78be361f06ec5741c5d38444ace6f82fc497e2
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411303
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-24 17:18:04 +00:00
Chris Dalton
69240482cf Optimize GrStrokeFixedCountTessellator
Don't run the cull test until after we've chopped for the first time.
Inline quadTo/conicTo/cubicTo and lift the recursion into separate
methods.

tessellate_GrStrokeFixedCountTessellator bench: 2.37 -> 1.63ms

Bug: skia:10419
Change-Id: Ie7ac32985a8c3e75d554e193543e756dd73e112f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411196
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-24 16:37:15 +00:00
Brian Salomon
7b0c8df669 Fix tile period of subsampled planes in YUVA images
Bug: chromium:1210557
Change-Id: Ib41cbf3236abdbb105ce818756505ff40c868cf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411301
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-05-24 16:25:16 +00:00