This reverts commit 93f20f5629.
Reason for revert: Mismerge readded deleted files.
Original change's description:
> eliminated GrGLSLExpr
>
> Now that skslc performs all of the optimizations (and then some) that
> GrGLSLExpr is responsible for, it's just extra work for no benefit.
>
> Bug: skia:
> Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a
> Reviewed-on: https://skia-review.googlesource.com/14560
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>
TBR=bsalomon@google.com,ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ia8b723594527afe34489fc78a4b49039081b6390
Reviewed-on: https://skia-review.googlesource.com/15154
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Let's do this because:
(1) We can.
(2) Android and Chrome have asked for it.
(3) It will simplify the implementation of SkImage::makeColorSpace().
Bug: skia:
Change-Id: Ia3c322b8a58c79ad67cdebe744e0623bd59dcffd
Reviewed-on: https://skia-review.googlesource.com/15148
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
Change-Id: I0ff11088465a4702acf9841a791d76f286ddbaf1
Reviewed-on: https://skia-review.googlesource.com/15147
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Now that skslc performs all of the optimizations (and then some) that
GrGLSLExpr is responsible for, it's just extra work for no benefit.
Bug: skia:
Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a
Reviewed-on: https://skia-review.googlesource.com/14560
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
~20% faster
differs in low 1 from prev impl
Bug: skia:
Change-Id: If7aa7f5523f15a5424ebf5a09313c5e1d43e1a1f
Reviewed-on: https://skia-review.googlesource.com/15105
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
This includes:
recipes-py: f5e47cfc28..554e8878ac
depot_tools: 109907e6a9..1e71b8bdf0
tools/build: f7b41106d6..dcca7cbe7e
The ranges include my generic postprocess/merge change in tools/build
that had been failing to roll over in https://skia-review.googlesource.com/c/13920/
along with a few corresponding fixes.
Change-Id: I7e328bdb3acfc9b4c219e408c226f181f3b05f3d
Reviewed-on: https://skia-review.googlesource.com/14678
Commit-Queue: John Budorick <jbudorick@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
This is the first CL to get support for using texel buffers in vulkan.
Bug: skia:
Change-Id: Iaac5ba4a356b487bc2b63111cca34ed968881f6b
Reviewed-on: https://skia-review.googlesource.com/15100
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: skia:6557
Change-Id: I6482d74be7b360c93141a73dd80c67854530c7a1
Reviewed-on: https://skia-review.googlesource.com/15101
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Fix current breakage on bots.
Bug: skia:
Change-Id: I4b60ef85d941a179d76cccc1a468aaa6437caddc
Reviewed-on: https://skia-review.googlesource.com/15104
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug is running out of memory running
interlaced image decoding tests. Stop running them on this particular
bot (others are still running them). For simplicity, also blacklist
the RAW images that have had similar problems on other devices.
Change-Id: I1071ca2f59ef26b9a9798924f2eefa0483017439
Reviewed-on: https://skia-review.googlesource.com/15074
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
This reverts commit 9ff301bf91.
Reason for revert: need to update G3, Flutter.
Original change's description:
> Remove SkLights include from SkCanvas.h
>
> SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
> works fine).
>
> Change-Id: Id2d7176eb3bf4609f72f46d513eebf59318f542f
> Reviewed-on: https://skia-review.googlesource.com/14904
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>
TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I4799ad5b31aaeaf529c8b912bbe09aa8869a5e6c
Reviewed-on: https://skia-review.googlesource.com/15107
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
works fine).
Change-Id: Id2d7176eb3bf4609f72f46d513eebf59318f542f
Reviewed-on: https://skia-review.googlesource.com/14904
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
* Re-enable shadow blurs for raster circles and rrects
* Fix up the tessellation as much as possible to remove skinny triangles
Bug: skia:6425
Change-Id: I6548055084bc8596a052bcd3cec852766e084ba2
Reviewed-on: https://skia-review.googlesource.com/14943
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:
Change-Id: Ifb7edcae491ef48fbc69324d9dfb97a298104db9
Reviewed-on: https://skia-review.googlesource.com/15073
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
SkRecorder has some private Skia behavior with the way it handles an
SkNoDrawCanvas that is not exposed. In particular, it's able to create
an arbitrary SkIRect device clip at construction time.
This is a performance optimization when reusing SkNoDrawCanvas across
multiple recordings instead of reconstructing a new canvas every time.
https://codereview.chromium.org/2768143002 is trying to implement
another version of SkPictureBuilder/SkRecorder and so wants to be able
to use similar SkNoDrawCanvas behavior.
Change-Id: I0ac5f0eef8f0548cefd7354062311667cf448b07
Reviewed-on: https://skia-review.googlesource.com/11320
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: Ieb5cff92bae1aa64df5bc7f3a398514fe5b20f77
Reviewed-on: https://skia-review.googlesource.com/14956
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Tool now parses A2B images/profiles.
Tool can now display a cross-section based visualization for the color
look-up tables in A2B profiles.
BUG=skia:
Change-Id: I68abb3e947b080c533e283783d7859feea8d35d6
Reviewed-on: https://skia-review.googlesource.com/6119
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
This reverts commit 3354969a4a.
Reason for revert: not the problem?
Original change's description:
> Revert "SaveLayerRec::fClipMask -> raw pointer"
>
> This reverts commit a6b72cb572.
>
> Reason for revert: red bots
>
> Original change's description:
> > SaveLayerRec::fClipMask -> raw pointer
> >
> > Use raw pointers for optional clip mask plumbing, to match the backdrop
> > API.
> >
> > Change-Id: I7eb0ee5896faf34cc05789ba0703f35a4ab6a4f2
> > Reviewed-on: https://skia-review.googlesource.com/14901
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> >
>
> TBR=fmalita@chromium.org,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I4387620cdc3410018af9cef221e5cf8d09015380
> Reviewed-on: https://skia-review.googlesource.com/14955
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,reviews@skia.org,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I6dde9e0441928f7a7423139a5c39f520f892f4b5
Reviewed-on: https://skia-review.googlesource.com/14958
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit c59a38d12d.
Reason for revert: whoops, sorry, this one must have been the problem.
Original change's description:
> Add a clip mask bench
>
> Change-Id: I230729492fc23e290136f7d62610abe5ca51c067
> Reviewed-on: https://skia-review.googlesource.com/14941
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>
TBR=fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ifbd74a8985ebaa95e54032aaaa2891b0f1b67940
Reviewed-on: https://skia-review.googlesource.com/14957
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit a6b72cb572.
Reason for revert: red bots
Original change's description:
> SaveLayerRec::fClipMask -> raw pointer
>
> Use raw pointers for optional clip mask plumbing, to match the backdrop
> API.
>
> Change-Id: I7eb0ee5896faf34cc05789ba0703f35a4ab6a4f2
> Reviewed-on: https://skia-review.googlesource.com/14901
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
>
TBR=fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I4387620cdc3410018af9cef221e5cf8d09015380
Reviewed-on: https://skia-review.googlesource.com/14955
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Use raw pointers for optional clip mask plumbing, to match the backdrop
API.
Change-Id: I7eb0ee5896faf34cc05789ba0703f35a4ab6a4f2
Reviewed-on: https://skia-review.googlesource.com/14901
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
For whatever reason, if I swap the condition in the if_then_else tests
from < to >= and swap the then/else values, I can use constants in
hsl_to_rgb. Still don't understand why, but I'll take it. I suspect it
has something to do with SSE, IEEE, and NaN, but I don't care enough to
speculate any more concretely.
This does that, removes C() and _f, updates some comments, and adds a
guard in build_stages.py to yell if it sees trouble like LCPI40_4...
This reminds me to try -ffast-math soon. I think that was mostly held
back by constants.
Change-Id: I3f8a37a4d4642f77422ce3261b750061e9e604a3
Reviewed-on: https://skia-review.googlesource.com/14942
Reviewed-by: Herb Derby <herb@google.com>
This rewrites the existing logic to expose more of the symmetries,
and especially to make them clearly identical subexpressions.
I think it's clear that the intent in hue_to_rgb is to wrap the t value
back into 0-1... that's t = fract(t).
No GM diffs.
Change-Id: I9d62d8f80bcb45711ee334f953d3f6410e068ce4
Reviewed-on: https://skia-review.googlesource.com/14940
Reviewed-by: Herb Derby <herb@google.com>
I think the original[1] SkRasterPipeline_opts.h version had a typo that
I faithfully copied over to hsl_to_rgb. In Hue2RGB[2], the scalar
equivalent of hue_to_rgb, we mutate t to keep it in 0-1 range[3]. In
the SkRasterPipeline_opts.h code we introduced a new value t2 instead,
and then used it everywhere, but accidentally typed 't' in the t < 1/6 case.
The expression "p + (q - p)*6.0f*t" should have been "p + (q - p)*6.0f*t2".
This fixes things by changing t in place, much like Hue2RGB does.
The GM doesn't change anywhere, which is troubling.
[1] https://skia-review.googlesource.com/c/7460/21/src/opts/SkRasterPipeline_opts.h#808
[2] https://skia-review.googlesource.com/c/7460/21/src/effects/SkHighContrastFilter.cpp#26
[3] I think this whole clamp should probably become "t = fract(t)".
Will follow up.
Change-Id: I3dcc1a79ffae46830178d931844ee3113f8bdfd1
Reviewed-on: https://skia-review.googlesource.com/14910
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
I think I'm now down to just the constants used in comparisons in
hsl_to_rgb... so weird. I don't get what's special about this code.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2
Change-Id: I398139f00371bdbc45281a49bca56d02ba59cba9
Reviewed-on: https://skia-review.googlesource.com/14909
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
While all systems can resolve a font from just a style request
(without a name) almost no systems specify a default font family.
BUG=skia:6574
Change-Id: If7c81808b62cd5d8212bce2eb4d9c476c45af80a
Reviewed-on: https://skia-review.googlesource.com/14902
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Trying to go slowly to find where problems arise.
Weirdly, I think I got everything except hsl_to_rgb.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win7-MSVC-Golo-CPU-AVX-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE41,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_CPU_LIMIT_SSE2
Change-Id: I4d85a4c1f40bd87e7cb18fc9b5ce020812dc31db
Reviewed-on: https://skia-review.googlesource.com/14905
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
It overrides the SkStream:: version, but does the same thing.
Change-Id: I857f2119a85bb3f942707ab3cef58b45a2cf4b7a
Reviewed-on: https://skia-review.googlesource.com/14828
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
No-Try: true
Change-Id: Idd748bf61ab3d6611b85472de5d3f3a25d4ae9ee
Reviewed-on: https://skia-review.googlesource.com/14821
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>