- Remove extract... it's not going to have any special impl.
I've left it on skvm::Builder as an inline compound method.
- Add no-op shift short circuits.
- Add immediate ops for bit_{and,or,xor,clear}.
This comes from me noticing that the masks for extract today are always
immediates, and then when I started converting it to be (I32, int shift,
int mask), I realized it might be even better to break it up into its
component pieces. There's no backend that can do extract any better
than shift-then-mask, so might as well leave it that way so we can
dedup, reorder, and specialize those micro ops.
Will follow up soon to get this all JITing again,
and these can-we-JIT test changes will be reverted.
Change-Id: I0835bcd825e417104ccc7efc79e9a0f2f4897841
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263217
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
I'm seeing these come up a lot in skvm image shaders.
It's worth noting that everything is symmetric but sub().
min() and max() are a _little_ subtle because ultimately the
instructions they imply are not entirely symmetric when NaN
is involved, but I think we can probably get away with it.
Change-Id: I7275ebad61845e720cd26cba28db5b8210951e20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263099
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit dff4c1d5fd.
Reason for revert: Fix WIP
Original change's description:
> Revert "Avoid loop-dependent behavior in GrMemoryPoolBench"
>
> This reverts commit f811fc331a.
>
> Reason for revert: breaks on iOS
>
> Original change's description:
> > Avoid loop-dependent behavior in GrMemoryPoolBench
> >
> > This helps stability of benchmark across repeated runs, and across code
> > changes. Previously, a change to the tuned loop count could radically
> > change the allocation behavior within the loop's iteration and lead to
> > unfair comparisons.
> >
> > In addition, this separates the stack allocation pattern into N allocations
> > followed by N LIFO releases, and a push-pop alternating pattern of N
> > allocates and releases (so still LIFO, but reuses the memory at the start
> > of a block).
> >
> > In later CLs experimenting on the memory pool, I found that there were
> > surprising effects on performance linked to the specific interaction between
> > the allocation size, per-allocation metadata, and per-block metadata. To
> > help differentiate these coincidences, this adds two modes of allocation
> > where one should already be aligned.
> >
> > It also moves away from a global pool, so that it's possible to benchmark
> > on different block sizes and factor in the allocation/release cost of the
> > actual blocks (vs. the cursor management of a larger sized pool). As part
> > of this, the new/delete reference operator is added as an explicit benchmark.
> >
> > Change-Id: I12b8c11cb75db0df70460fe2e8cf6c029db7eb22
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262936
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> TBR=bsalomon@google.com,michaelludwig@google.com
>
> Change-Id: I16f2810699a378eb5a516ab9fb1834c10b65f01b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263029
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Change-Id: I51a9db111c26b49572c3fa0928e26ef6e5a7a74c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263196
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
GL clamps to the limits of the destination format before blending,
so for consistency I think we ought to also.
I believe it's sufficient to add just this one new clamp for alpha to
[0,1] before the other clamps, only when is-premul && is-normalized:
- our GPU backend only draws premul, so there's nothing
to be inconsistent with when drawing into unpremul;
- since we're already clamping rgb to alpha in these cases,
clamping alpha first to [0,1] clamps rgb to [0,1] also.
Change-Id: If77bb4ea8614e6ed100d37f27427d9b2fe12374f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263098
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Add framework for unit tests that draw (CPU and GPU) with a runtime
shader, as well as couple example tests.
Change-Id: I43b3b39e86634ec55521a2689a4c55c21939dce5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262809
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
- Add lerp(F32,F32,F32) and lerp(Color,Color,F32).
- Rewrite bilerp to use lerp(), simplifying the weights we
calculate and generally making how bilerp works stand out
more clearly.
This trims ~4 registers from an arbitrary program I spot checked.
But I think the clarity is the big win.
Change-Id: I4d735c940ed9f3744aeae1c643bf58d68bf65605
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263199
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/a100ae5fb1cd5a66508d69f9bee7fb69b70b0135 [vpython] Bump asn1crypto to 1.0.1 to fix crash on macOS Catalina (athom@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2e4ca38aff047426ca65af544bd47ca3c52abe0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263097
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Change-Id: Iad9fadd113d0c97e8ece51df19c7824252d7eb9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263197
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: I748ab57274c360261e957d43a08366e62350110b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263056
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
The reason for the assert was breaking an assert, that if the CTM was scale/translate, that after
a preTranslate, it should still be that.
This is true... unless the new translate values are non-finite. In that case, we might turn a zero
into a NaN, (0 * non_finite --> nan), so we either have to require finite args (which we don't
at the moment) or we can't make this assert. This re-land removes that assert.
This reverts commit 268ed57d71.
Change-Id: I3c48a0aa17649351a246c1fbab5449f2d59aaf84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263023
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit f811fc331a.
Reason for revert: breaks on iOS
Original change's description:
> Avoid loop-dependent behavior in GrMemoryPoolBench
>
> This helps stability of benchmark across repeated runs, and across code
> changes. Previously, a change to the tuned loop count could radically
> change the allocation behavior within the loop's iteration and lead to
> unfair comparisons.
>
> In addition, this separates the stack allocation pattern into N allocations
> followed by N LIFO releases, and a push-pop alternating pattern of N
> allocates and releases (so still LIFO, but reuses the memory at the start
> of a block).
>
> In later CLs experimenting on the memory pool, I found that there were
> surprising effects on performance linked to the specific interaction between
> the allocation size, per-allocation metadata, and per-block metadata. To
> help differentiate these coincidences, this adds two modes of allocation
> where one should already be aligned.
>
> It also moves away from a global pool, so that it's possible to benchmark
> on different block sizes and factor in the allocation/release cost of the
> actual blocks (vs. the cursor management of a larger sized pool). As part
> of this, the new/delete reference operator is added as an explicit benchmark.
>
> Change-Id: I12b8c11cb75db0df70460fe2e8cf6c029db7eb22
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262936
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,michaelludwig@google.com
Change-Id: I16f2810699a378eb5a516ab9fb1834c10b65f01b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263029
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This helps stability of benchmark across repeated runs, and across code
changes. Previously, a change to the tuned loop count could radically
change the allocation behavior within the loop's iteration and lead to
unfair comparisons.
In addition, this separates the stack allocation pattern into N allocations
followed by N LIFO releases, and a push-pop alternating pattern of N
allocates and releases (so still LIFO, but reuses the memory at the start
of a block).
In later CLs experimenting on the memory pool, I found that there were
surprising effects on performance linked to the specific interaction between
the allocation size, per-allocation metadata, and per-block metadata. To
help differentiate these coincidences, this adds two modes of allocation
where one should already be aligned.
It also moves away from a global pool, so that it's possible to benchmark
on different block sizes and factor in the allocation/release cost of the
actual blocks (vs. the cursor management of a larger sized pool). As part
of this, the new/delete reference operator is added as an explicit benchmark.
Change-Id: I12b8c11cb75db0df70460fe2e8cf6c029db7eb22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262936
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
build_task_drivers was always syncing infra to tip-of-tree. Fix it to
use the pinned revision.
Change-Id: Iea6c54e4f62f30e986880d50b38ee0fb612a7a83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262217
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
This reverts commit 98bfcc7ff3.
Reason for revert: Flutter hitting assert:
../../third_party/skia/src/core/SkCanvas.cpp:1432: fatal error: "assert(fIsScaleTranslate == fMCRec->fMatrix.isScaleTranslate())"
Original change's description:
> Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API.
>
> Devices receive the 4x4, but by default they simply downsample it to SkMatrix.
>
> New SkM44 matrix for the impl. It differs from SkMatrix44 in a few ways
> - no tracking of "type"
> - faster for concat, as it does not use doubles for intermediates
> - much simpler API
>
> There are some low-bit differences in some gms, so adding a flag for clients to
> stage this change. (due to faster but lower-precision in SkM44::concat)
>
> Performance: running canvas_matrix bench
>
> 3x3 version:
>
> 167.93 canvas_matrix_3x3 8888
> 209.97 canvas_matrix_2x3 8888
> 174.87 canvas_matrix_scale 8888
> 135.30 canvas_matrix_trans 8888
>
> 4x4 version:
>
> 116.59 canvas_matrix_3x3 8888
> 105.40 canvas_matrix_2x3 8888
> 159.83 ? canvas_matrix_scale 8888
> 113.47 canvas_matrix_trans 8888
>
> Why faster?
> - not tracking matrix_type helps a lot it seems
> - faster full concat (no doubles)
>
> Before adding the specialized preConcats...
>
> 318.11 ? canvas_matrix_3x3 8888
> 339.38 canvas_matrix_2x3 8888
> 383.28 canvas_matrix_scale 8888
> 251.67 canvas_matrix_trans 8888
>
> Change-Id: I68eac942919fa5418081e789f31710a1e2a752da
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262056
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>
TBR=mtklein@google.com,bsalomon@google.com,herb@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,michaelludwig@google.com
Change-Id: I28c3d69c19ba44ab65ca7c059221b64c7dffef22
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263021
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 1c16b43033.
Reason for revert: Red on tree
Original change's description:
> Move makeDeferredRenderTargetContext calls to factory on RTC.
>
> Change-Id: Iaa8f5829d9f8650ff27a60f75fb2216f016ab85e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262058
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=egdaniel@google.com,bsalomon@google.com
Change-Id: I9e3c9d13c66b5437c87ad7136d283fa4ac81df1f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263019
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: Ic1f3896a450bd81bb8c4859d3998c9873af821f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263016
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
51e653f03f..db49bc7dd0
git log 51e653f03f26..db49bc7dd075 --date=short --first-parent --format='%ad %ae %s'
2020-01-07 tobine@google.com Vulkan:Roll volk
2020-01-07 ianelliott@google.com Vulkan: Update number of samples when changing draw framebuffer
2020-01-07 tobine@google.com Vulkan:Enable DebugUtils extension for Android
2020-01-07 cwallez@chromium.org Suppress VertexAttributeTest.DrawArraysWithBufferOffset on Mac NVIDIA
2020-01-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 10a900e5ffaf..068dd89cab31 (7 commits)
2020-01-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 6334d594f68c..1d258ac34698 (3 commits)
2020-01-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 2be3fe0f8471..b416ed86e4b2 (1 commits)
2020-01-07 syoussefi@chromium.org Vulkan: Reorder descriptor sets
Created with:
gclient setdep -r third_party/externals/angle2@db49bc7dd075
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 jvanverth@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: jvanverth@google.com
Change-Id: Iab5f7d094cf8528e32e45cd7d6978c65641a18c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262983
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
* Rename doRegen -> updateTextureCoordinatesMaybeStrike
* Collapse all regenTextureCoordinates if statements
Change-Id: I0afba60c657f9b805b07247673d9f24c265b9a0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262937
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/1cbfca1cec9aedcd01cfe190a1569d2f42c8912b Update the attrs dependency to the current version. (gbeaty@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iae81101d61b42c621e7bb3f817c4b13f121aa10b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262958
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Try to move calculations out of the main atlas update loop.
Simplify expressions involving the result values. Invert the if-statement
and for-loop to do even less work.
Change-Id: Ibef88e65fb5bb8eeeaec13f0ae0ba1acb4d2d87d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262926
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Implements a simple first pass for a path renderer that uses the
classic Red Book "stencil then cover" method, and linearizes curves
with GPU tessellation shaders.
The new path renderer is disabled by default, and can only be enabled
in the viewer UI or by passing the "--pr gtess" flag.
Change-Id: Ic9354952e93c8b108577961760b4f0daa82d35aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261715
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
It's interesting but perhaps not consequential that bilerp can produce
alpha just greater than 1.0f. I think this setup of what clamps what
where mirrors the GPU backend more closely. No pixel diffs.
The p3 GM would draw a little differently if we only min(rgb, alpha),
and that would make it inconsistent with the GPU backend, so I've kept
it as clamp(rgb, 0, alpha).
Change-Id: I5cfacb9aae56c33b542cbc4e5e740b4d24c6b9e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262812
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
It's possible for SkSL to get past the initial compile (with generic
Settings), then fail to compile once we install the device's caps.
Change-Id: I082edae13659f3ed6501e87eee67eb3b9cd03303
Bug: chromium:1039366
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262386
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit d7436a37ff.
Restores old file order in gpu.gni until Mac/Metal issue can be
debugged.
Change-Id: I6e2ee3bdc3b39270aeaaf28b9613e4ac49d38e1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262801
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
One option for fixing bilerp asserts is just to commit to clamping its
output. Will write up another option that I think mirrors the GPU
backend more closely as a patch on top of this CL.
Few minor things here too:
- Use clamp() more now that we have it.
- Update assert_true() calls to print out the interesting value
instead of the condition.
- Clamp alpha before rgb for clarity in the case we're clamping rgb
to that clamped alpha. Either order actually works, but this order
is more obviously correct.
Change-Id: I8f05834fd862ba8bb45b961e01563af091232c95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262811
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
- Add instruction numbers to program dumps.
- Dump the program when an assertion fails,
and print the failing condition or an optional
other value (e.g. if alpha outside [0,1], print alpha).
With all that and the new commented assert enabled, I'm seeing that
sometimes we get a bilerp alpha of 0x3f800001, just a little more than
1.0f. Fix still tbd.
Change-Id: I2c20e41ae370d8cd2963e2dbf0fd91aa0fd50061
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262808
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Devices receive the 4x4, but by default they simply downsample it to SkMatrix.
New SkM44 matrix for the impl. It differs from SkMatrix44 in a few ways
- no tracking of "type"
- faster for concat, as it does not use doubles for intermediates
- much simpler API
There are some low-bit differences in some gms, so adding a flag for clients to
stage this change. (due to faster but lower-precision in SkM44::concat)
Performance: running canvas_matrix bench
3x3 version:
167.93 canvas_matrix_3x3 8888
209.97 canvas_matrix_2x3 8888
174.87 canvas_matrix_scale 8888
135.30 canvas_matrix_trans 8888
4x4 version:
116.59 canvas_matrix_3x3 8888
105.40 canvas_matrix_2x3 8888
159.83 ? canvas_matrix_scale 8888
113.47 canvas_matrix_trans 8888
Why faster?
- not tracking matrix_type helps a lot it seems
- faster full concat (no doubles)
Before adding the specialized preConcats...
318.11 ? canvas_matrix_3x3 8888
339.38 canvas_matrix_2x3 8888
383.28 canvas_matrix_scale 8888
251.67 canvas_matrix_trans 8888
Change-Id: I68eac942919fa5418081e789f31710a1e2a752da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262056
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Motivation: this will let me add dependencies without breaking clients.
Change-Id: I70b71c08b0a902b2b7e6fc160c63dc3afdeb7de5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262806
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Tweaking SkVM.h requires ~550 build steps because SkShaderBase.h
includes it. By switching that to forward declarations of the types
using SkVM_fwd.h, it's down to ~15. Big deal for laptop productivity.
Change-Id: Ide5cc776b8a0c6fa6473cf5f43acabdf566e8808
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262860
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
- Add fract(), clamp().
- Refactor sampling to support bilerp and bicubic,
with bicubic left as an easy follow up.
I _think_ this is failing asserts that we left alpha in [0,1]. For now
I've opted bilerp into the same clamp that bicubic will need eventually.
Will follow up to remove bilerp clamp... we shouldn't need that to my
knowledge. On the other hand, this is the first time we ever check.
Cq-Inlcude-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_SKVM_BLITTER
Change-Id: I74e3e3c5fb5cda200f704f1e84ac1d01653b2f09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262782
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Change-Id: Icf81d2fd50e060e9e9ca2876f5ed7192d0d18d7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258885
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This reverts commit 90673ec665.
Reason for revert: Causes metal bot failures
Original change's description:
> Rename GrSimpleTextureEffect->GrTextureEffect
>
> It will become less simple.
>
> Change-Id: I409d0faba386597ae05738273d5ff773501eb358
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262383
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,brianosman@google.com
Change-Id: Id25c9cde3c2048149409745f163e42c588de70c1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262514
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
It's not that useful now that we're drawing real stuff,
and kind of annoying to keep updating its Fade shader.
Change-Id: Ie8252b9a189bd38b150647e4a93b66b765c7ef97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262536
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>