| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ce4d04ae8eace6ba53ff8b8c8d8f4a2e6af4e59f.
BUG=skia:5932
Original CL description:
>
>Limit GL_TEXTURE_RECTANGLE filtering to bilinear.
>
>Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures.
>
>Also moves samplerType() to GrTexturePriv from GrTexture.
>
>BUG=skia:5932
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4455
Change-Id: I4a9f4abac44979cb900f5b04fe741524eade66b1
Reviewed-on: https://skia-review.googlesource.com/4455
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When decoding images with strange transfer functions, we need to
pick an "equivalent" drawable format and color space. These help
when doing that.
Our default answer is to use F16 linear, but some GPUs may not
be able to draw that, in which case we'll fall back to sRGB 8888.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4453
Change-Id: I7f7342423d2a57fb45c965e1a023d255cdafedee
Reviewed-on: https://skia-review.googlesource.com/4453
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
|
|
|
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3415
Change-Id: I91bfbeb5751d5fd87e0361255ccb0350c3f3c850
Reviewed-on: https://skia-review.googlesource.com/3415
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4442
Change-Id: Iaf3da7b82c1b3a41fe66c83fb5f9ca589f64851f
Reviewed-on: https://skia-review.googlesource.com/4442
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This is the same as https://skia-review.googlesource.com/c/4383/ (Further centralize computation of GrSurface VRAM consumption) but with a suppression for Vulkan in the new test and removal of an assert Chromium was triggering.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4450
Change-Id: Ie87d32fd5f0d35c21326b066a0c733cb6f8a5bea
Reviewed-on: https://skia-review.googlesource.com/4450
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Path ops was using addPathReverse, instead of reversePathTo.
The former adds a moveTo always, and the latter requires
that the caller add the moveTo if needed.
Simplify the reversePathTo implementation.
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481463002
Committed: https://skia.googlesource.com/skia/+/d8db392be9dd1887df04b10b5670991d6b098c17
Review-Url: https://codereview.chromium.org/2481463002
|
|
|
|
|
|
|
|
| |
This allows createT statements to be written in a clearer style.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482683002
Review-Url: https://codereview.chromium.org/2482683002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
BUG=skia:5937
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4446
Change-Id: Id74b80901e86fc1318d80e4c76cc6076cae9caa8
Reviewed-on: https://skia-review.googlesource.com/4446
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ccd3c8937fce4bb28df19533ed043cad209e277d.
Reason for revert: Blocking Chromium roll: https://codereview.chromium.org/2482643002/
Original change's description:
> Further centralize computation of GrSurface VRAM consumption
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4383
>
> Change-Id: I054b74f2cd15f904f8e05af0fda58d6e8a523eb9
> Reviewed-on: https://skia-review.googlesource.com/4383
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=662630
Change-Id: I186db2a41eb2bd789e6f681b3547e32d9ca374cf
Reviewed-on: https://skia-review.googlesource.com/4443
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 4d53c44aa6e8e0d1b6537f83e4287e5a1423ac75.
Reason for revert: Depends on https://skia-review.googlesource.com/c/4383/ which I need to revert.
Original change's description:
> Limit GL_TEXTURE_RECTANGLE filtering to bilinear.
>
> Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures.
>
> Also moves samplerType() to GrTexturePriv from GrTexture.
>
> BUG=skia:5932
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4352
>
> Change-Id: I1f023d4f4133e7eb393367580c0558257e56c8db
> Reviewed-on: https://skia-review.googlesource.com/4352
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
>
TBR=bsalomon@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=662630
Change-Id: I012aa208594ccff0bb81bece8110a38e1f83ae00
Reviewed-on: https://skia-review.googlesource.com/4444
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is a subpatch from https://codereview.chromium.org/2471133002/
I created this CL mainly for Florin to land before he rebaseline the Chrome
layout tests. (Landing the whole patch of 2471133002 would be nice but most
people already left for the weekend so I'd rather not take the risk to break
the Skia during the weekend.)
BUG=skia:
TBR=reed@google.com, mtklein@google.com, fmalita@chromium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2483523002
Review-Url: https://codereview.chromium.org/2483523002
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4436
CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot,Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Debug-GN_Android-Trybot
Change-Id: Id8ad69b5128653ba16dd99418334be75eb3485c5
Reviewed-on: https://skia-review.googlesource.com/4436
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We thought it'd be handy to have swap_src_dst so that it could be used
either to move dst into src or src into dst. Turns out, we already have
a stage that moves dst into src (called "dst", the dst blend mode), so
there's really no reason to have swap_src_dst over the strictly more
efficient move_src_dst.
swap_src_dst is typically 12 register moves, where move_src_dst is 4.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4461
Change-Id: Ib453775f854e313f823851978eaadc3995872312
Reviewed-on: https://skia-review.googlesource.com/4461
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:4895
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4396
Change-Id: I7c521760891852daf4f3933ecf02dc08acec64c0
Reviewed-on: https://skia-review.googlesource.com/4396
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any pipeline that looks like:
- constant_color
- store_fmt
can be trivially converted into an sk_memset of the right size for fmt.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2477013002
Review-Url: https://codereview.chromium.org/2477013002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/2481463002/ )
Reason for revert:
breqking some bots
Original issue's description:
> use reversePathTo in place of addPathReverse
>
> Path ops was using addPathReverse, instead of reversePathTo.
> The former adds a moveTo always, and the latter requires
> that the caller add the moveTo if needed.
>
> Simplify the reversePathTo implementation.
>
> R=reed@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481463002
>
> Committed: https://skia.googlesource.com/skia/+/d8db392be9dd1887df04b10b5670991d6b098c17
TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2478763003
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4439
Change-Id: I274930fd947585e7b2a4716c5c51aef267574ddd
Reviewed-on: https://skia-review.googlesource.com/4439
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The simplest thing to do here is just run shader+color filter pipeline at
construction time to create a new constant color shader (replacing the paint
color).
This reduces a pipeline like:
- constant_color (paint color)
- matrix_4x5
- clamp_a
- load_d_foo, xfermode, lerp, store_foo
to
- constant_color (paint color -> matrix_4x5 -> clamp_a)
- load_d_foo, xfermode, lerp, store_foo
To implement this all, we add a new store_f32 stage that writes SkPM4f, and
finally get around to implementing Sk8f::Store4() (store while reinterlacing).
Sk4f::Store4() already exists for both SSE and NEON.
Next step: reduce simple constant_color -> store pipelines (src mode, full
coverage) into non-pipeline memsets.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2480823002
Review-Url: https://codereview.chromium.org/2480823002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Path ops was using addPathReverse, instead of reversePathTo.
The former adds a moveTo always, and the latter requires
that the caller add the moveTo if needed.
Simplify the reversePathTo implementation.
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481463002
Review-Url: https://codereview.chromium.org/2481463002
|
|
|
|
|
|
|
|
|
|
| |
Instead of invoking the generator at subset time, instantiate a new
SkImage_Generator with its own cacherator but shared generator.
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2462013003
Review-Url: https://codereview.chromium.org/2462013003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks to Gold for catching this.
BUG=skia:4895
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4426
Change-Id: Icc816d933e9e2fd312858a5430fa21a47722563e
Reviewed-on: https://skia-review.googlesource.com/4426
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures.
Also moves samplerType() to GrTexturePriv from GrTexture.
BUG=skia:5932
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4352
Change-Id: I1f023d4f4133e7eb393367580c0558257e56c8db
Reviewed-on: https://skia-review.googlesource.com/4352
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using alignas reduces code and platform specific macros.
Use alignas instead of std::aligned_storage because it is unimplemneted
in MSVC 2015.
Here is the bug from MS:
https://connect.microsoft.com/VisualStudio/feedback/details/1559873/std-aligned-storage-cannot-align-type-with-16-byte
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2473143002
|
|
|
|
|
|
|
|
|
|
| |
This should not change any behavior, but addresses some readability
concerns.
Change-Id: I2614beaed7b5722a3af2c49ab8f4ac16b56aa3a7
Reviewed-on: https://skia-review.googlesource.com/4393
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4383
Change-Id: I054b74f2cd15f904f8e05af0fda58d6e8a523eb9
Reviewed-on: https://skia-review.googlesource.com/4383
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
If fInvMatrix doesn't have a scale component, the
really-close-to-no-scale logic is a no-op. We can avoid an inverse op
by hoisting the check out of just_trans_clamp/just_trans_general.
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2472003004
Review-Url: https://codereview.chromium.org/2472003004
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:4895
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4390
Change-Id: I9cb727e7f13816b0ac882f62ec635a4528c3a524
Reviewed-on: https://skia-review.googlesource.com/4390
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4384
Change-Id: I5121acd027d935ade169ff65941f29f654a47bd0
Reviewed-on: https://skia-review.googlesource.com/4384
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This doesn't create any apps or bundles or sign anything, but it all compiles and links.
Note the awkward transitional hack I used to make each tool's tool_main() serve as the real main() again when built with GN, while keeping the existing setup with GYP. Fun...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4350
Change-Id: I632753d5d8e5848380854f413bf5905d676bfcf4
Reviewed-on: https://skia-review.googlesource.com/4350
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I was looking at the disassembly of matrix_4x5() and noticed it didn't have any FMAs. This makes things that call SkNx_fma() actually use the FMA instruction.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4400
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: Ia353a77b0ca14385a43b564997b05586f9472996
Reviewed-on: https://skia-review.googlesource.com/4400
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
| |
Replace with std::unique_ptr.
Change-Id: I5806cfbb30515fcb20e5e66ce13fb5f3b8728176
Reviewed-on: https://skia-review.googlesource.com/4381
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
| |
When downscaling with kMediumQuality in non-clamp mode, if we happen to hit a size == mip level, then SkBitmapProcInfo::init takes the trivial matrix path and doesn't set up a matrix for normalized coords on the assumption that we're going to ignore the transform. But kMediumQuality disables allow_ignore_fractional_translate, so we take the filter path after all - but with an incorrect matrix.
R=reed@google.com
BUG=chromium:661180
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2476713002
Review-Url: https://codereview.chromium.org/2476713002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2465253008
Review-Url: https://codereview.chromium.org/2465253008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've just re-noticed this can happen:
1) we have a properly premultiplied linear color;
2) we convert that to sRGB;
3) we convert that back to linear;
4) that color does not appear to be premultiplied.
Removing sk_linear_to_srgb_noclamp(), and thus always clamping to [0,1] here in linear space, does not fix this problem. However, it does help keep it from propagating too badly.
Just double-checked: the older Sk4f pipeline (SkXfermode4f, SkPM4fPriv, etc) already use sk_linear_to_srgb() exclusively, so they're already doing this same clamp.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4314
Change-Id: I6352eb0ba969eb25674e8441e43bb51e1e1c0df3
Reviewed-on: https://skia-review.googlesource.com/4314
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow configs to be supported as FBO attachments for copies/readbacks without being "renderable" elsewhere in Ganesh.
The motivation for this is to add support for int textures as srcs but not as dsts (at least initially) but to still be able to read them back. This means we don't pay for a unneeded GPU copy when reading back a GrSurface that is a GrTexture and not a GrRenderTarget.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4345
Change-Id: I824a73c6b8c1b9634206d76ccf0848d5f9b64441
Reviewed-on: https://skia-review.googlesource.com/4345
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit d851795e7992565c1eb2b9474ee5ad01d1a01fad.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Add F16, SkColorSpaceXform support to SkBmpCodec
>
> BUG=skia:4895
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4300
>
> Change-Id: I2f2b8d3854ea3a8c5904dd3c5bea0342e2be9789
> Reviewed-on: https://skia-review.googlesource.com/4300
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>
Speculative revert for MSAN
TBR=borenet@google.com,msarett@google.com,scroggo@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ie48c03c0c3156267763fbcf96818477567c5069d
Reviewed-on: https://skia-review.googlesource.com/4378
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- when the shader is opaque, srcover becomes src
- don't load dst when blitting in src mode with full coverage
- fold coverage into src alpha when in srcover mode
It's not obvious that we can fold coverage into src alpha when using a 565 mask, so I've not attempted that. What would we do about alpha?
Over all GMs this causes a single 1-bit difference in sRGB mode. No 565 or f16 diffs.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4349
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: Ib9161f498c4efa6b348ca74522166da64d09a7da
Reviewed-on: https://skia-review.googlesource.com/4349
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4310
Change-Id: I676749ecf1e489f825799b619a15a45fc7dcd219
Reviewed-on: https://skia-review.googlesource.com/4310
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:4895
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4300
Change-Id: I2f2b8d3854ea3a8c5904dd3c5bea0342e2be9789
Reviewed-on: https://skia-review.googlesource.com/4300
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This breaks the color filter down into a couple logical steps:
- go to unpremul
- apply the 4x5 matrix
- clamp to [0,1]
- go to premul
Because we already have handy premul clamp stages, we swap the order of clamp and premul. This is lossless.
While adding our stages to the pipeline, we analyze the matrix to see if we can skip any steps:
- we can skip unpremul if the shader is opaque (alphas are all 1 ~~~> we're already unpremul);
- we can skip the premul back if the color filter always produces opaque (here, are the inputs opaque and do we keep them that way, but we could also check for an explicit 0 0 0 0 1 alpha row);
- we can skip the clamp_0 if the matrix can never produce a value less than 0;
- we can skip the clamp_1 if the matrix can never produce a value greater than 1.
The only thing that should seem missing is per-pixel alpha checks. We don't do those here, but instead make up for it by operating on 4-8 pixels at a time.
We don't split the 4x5 matrix into a 4x4 and 1x4 translate. We could, but when we have FMA (new x86, all ARMv8) we might as well work the translate for free into the FMAs.
This makes gm/fadefilter.cpp draw differently in sRGB and F16 modes, bringing them in line with the GPU sRGB and GPU f16 configs. It's unclear to me what was wrong with the old CPU implementation.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4346
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I14082ded8fb8d63354167d9e6b3f8058f840253e
Reviewed-on: https://skia-review.googlesource.com/4346
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4373
Change-Id: If3938e529fbf82830048d3c194673603d509bf28
Reviewed-on: https://skia-review.googlesource.com/4373
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/2468243002/ )
Reason for revert:
DM failure: https://luci-milo.appspot.com/swarming/task/324387bf30100f10
c:\b\work\skia\src\core\sklinearbitmappipeline.cpp:49: fatal error: "assert(sizeof(Variant) <= sizeof(fSpace))"
Original issue's description:
> Try to use only std::aligned_storage. This does not change the API.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/e736e0c2d52a29a3b88a29ab39b3a90a5a2443a0
TBR=mtklein@chromium.org,bsalomon@google.com,mtklein@google.com,reed@google.com,herb@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2474073002
|
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/2468243002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This seems like a no brainer.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4323
Change-Id: I761c9c696ef9389a25ac30680e7c2bbd43c7affb
Reviewed-on: https://skia-review.googlesource.com/4323
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This class is already just an alias for std::unique_ptr<T[]>, so replace
all uses with that and delete the class.
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Debug-ASAN-Trybot
Change-Id: I40668d398356a22da071ee791666c7f728b59266
Reviewed-on: https://skia-review.googlesource.com/4362
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although the iterator ensures v0 != v1, 2 - v0 may still be equal to
2 - v1 for very small values due to limited float precision.
We need to recheck the inequality to avoid triggering Interval asserts.
BUG=skia:5903
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2474463002
Review-Url: https://codereview.chromium.org/2474463002
|
|
|
|
|
|
|
|
| |
SkSpecialImage_Gpu with a GrTextureProxy)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2472703005
Review-Url: https://codereview.chromium.org/2472703005
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:5923
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4341
Change-Id: I258da9bfa98f16e1abdea0f18ae786f9df118a8e
Reviewed-on: https://skia-review.googlesource.com/4341
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The spec has been updated to require setting the range for z/depth values
to be 0-1 when the image is 2D instead of just ignoring the field as before.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4308
Change-Id: Ic054ee732472cd9c69f7197fd62cb0cb4f2b26ce
Reviewed-on: https://skia-review.googlesource.com/4308
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
|
|
|
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4306
Change-Id: I0753047eeda71a22b6126f932fc14dd242c5a2e7
Reviewed-on: https://skia-review.googlesource.com/4306
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
|