This reverts commit b5b26a9d29.
Reason for revert: this one's probably fine too
Original change's description:
> Revert "mark SkRasterPipelineBlitter final"
>
> This reverts commit 317a1857f8.
>
> Reason for revert: Valgrind requires reverting ancestor commit.
>
> Original change's description:
> > mark SkRasterPipelineBlitter final
> >
> > This devirtualizes the call from blitAntiH to blitH,
> > and makes sure no future self calls will be virtual.
> >
> > Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
> > Reviewed-on: https://skia-review.googlesource.com/17418
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,herb@google.com,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: Ic726fd6b9bf18c397812ecc256353ab4a0a336c5
> Reviewed-on: https://skia-review.googlesource.com/17522
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>
TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ic27fbfaab9d040a1ef49d596350649096b908ea3
Reviewed-on: https://skia-review.googlesource.com/17528
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit ee26363aaa.
Reason for revert: Failing Google 3 roll.
Original change's description:
> Remove compressed (ETC1) texture support from Ganesh
>
> Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667
> Reviewed-on: https://skia-review.googlesource.com/17456
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>
TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ie1a57187287e03600a69e374501478e93c41415c
Reviewed-on: https://skia-review.googlesource.com/17527
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 4d1c5d676e.
Reason for revert: This one was fine (and fixes ASAN).
Original change's description:
> fix ubsan warning
>
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
>
> Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
> Reviewed-on: https://skia-review.googlesource.com/17489
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
Change-Id: Id51bf64617f9bf11d80e6163783d7101fef9c5e2
Reviewed-on: https://skia-review.googlesource.com/17525
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 139e463dc6.
Reason for revert: Crashes on Valgrind bots.
Original change's description:
> We can mask load and store with just AVX.
>
> Previously we were using AVX2 instructions to generate the masks,
> and AVX2 instructions for the mask load and stores themselves.
>
> AVX came with float mask loads and stores, which will work perfectly
> fine. I don't really get what the point of the 32-bit int loads and
> stores are in AVX2, beyond maybe syntax sugar?
>
> Change-Id: I81fa55fb09daea4f5546f8c9ebbc886015edce51
> Reviewed-on: https://skia-review.googlesource.com/17452
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
>
TBR=mtklein@chromium.org,rmistry@google.com,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I3a48f006c20475f6334ff94998281f381c696c93
Reviewed-on: https://skia-review.googlesource.com/17524
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 8110b849d6.
Reason for revert: Valgrind requires reverting ancestor commit.
Original change's description:
> add tilers against 1
>
> Change-Id: I2482972a43cb89a93cbfb9e708614e0334002e53
> Reviewed-on: https://skia-review.googlesource.com/17483
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Icbc3a2212f800854ef7b2b17aa99fedad182d53e
Reviewed-on: https://skia-review.googlesource.com/17523
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 317a1857f8.
Reason for revert: Valgrind requires reverting ancestor commit.
Original change's description:
> mark SkRasterPipelineBlitter final
>
> This devirtualizes the call from blitAntiH to blitH,
> and makes sure no future self calls will be virtual.
>
> Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
> Reviewed-on: https://skia-review.googlesource.com/17418
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>
TBR=mtklein@chromium.org,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ic726fd6b9bf18c397812ecc256353ab4a0a336c5
Reviewed-on: https://skia-review.googlesource.com/17522
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I2869f97a14f3a1363ebfef5d657bd6468fc991f7
Reviewed-on: https://skia-review.googlesource.com/17491
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: skia:
Change-Id: Id517d4ba3b0f728e13f160e0766b6fb822a682f9
Reviewed-on: https://skia-review.googlesource.com/17482
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN
Change-Id: Ic8c5d95fdb899cb5293b2bc456f61b1637ec3aed
Reviewed-on: https://skia-review.googlesource.com/17489
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Change-Id: Ic7f76681a037d8f53a6fdc25061c39559f5c3e30
Reviewed-on: https://skia-review.googlesource.com/17457
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This devirtualizes the call from blitAntiH to blitH,
and makes sure no future self calls will be virtual.
Change-Id: I2a277bbc1450a96e07794791792d59e5f806bde0
Reviewed-on: https://skia-review.googlesource.com/17418
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Change-Id: I2482972a43cb89a93cbfb9e708614e0334002e53
Reviewed-on: https://skia-review.googlesource.com/17483
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This CL fixes:
isConfigTexturable was returning true for:
kRG_float for ANGLE ES2 configs
isConfigRenderable was returning true for:
kAlpha_8 for ANGLE ES2 configs
isConfigTexturable and isConfigRenderable were returning true for:
SBGRA on ES2
The NexusPlayer was marking RGBA & RG float configs as renderable but not textureable
Bug: 720325
Change-Id: If21361870dbdde8f3e09bc9dff3a394f2a329157
Reviewed-on: https://skia-review.googlesource.com/17387
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:
Change-Id: I2966a5f6d1c0a953d5fe0d257550ae7f16e87e41
Reviewed-on: https://skia-review.googlesource.com/17455
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Previously we were using AVX2 instructions to generate the masks,
and AVX2 instructions for the mask load and stores themselves.
AVX came with float mask loads and stores, which will work perfectly
fine. I don't really get what the point of the 32-bit int loads and
stores are in AVX2, beyond maybe syntax sugar?
Change-Id: I81fa55fb09daea4f5546f8c9ebbc886015edce51
Reviewed-on: https://skia-review.googlesource.com/17452
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
I expanded an existing bench to show off the difference:
SkRasterPipeline_…
300 …compile 1x …run 1.14x
Change-Id: I5d63d602cda3f78d2d0891fcc85baf5514632900
Reviewed-on: https://skia-review.googlesource.com/17458
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
This is to fix OOM errors on Windows bots.
Bug: skia:
Change-Id: I308c77bde51d3c6b069f35b2c8d0e43e5b12a93f
Reviewed-on: https://skia-review.googlesource.com/17453
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
This refactors the factories so that the create-from-paint factory is a
front-patch to the create-from-shader-pipeline factory. Feature-wise,
we make the pre-baked shader pipeline responsible for modulating by
paint alpha; the factory only adds when creating from the paint.
We can fold the alpha into the colors in drawVertices, which makes it
run a bit faster, dropping the need for a scale_1_float runtime stage.
This causes a few invisible diffs on the "vertices" GM, but everything
else draws the same.
Change-Id: I3eeacc9aafbce2023ab18991bbb68c35645e9387
Reviewed-on: https://skia-review.googlesource.com/17395
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
The new bench demos the speedup:
SkRasterPipelineReuse_…
…full 1x …some 1.8x …none 5.22x
Change-Id: I5e51fb4316ae04558710ce62560850584ccb4aea
Reviewed-on: https://skia-review.googlesource.com/17449
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Rename swarming -> skia_swarming.
Some required heavy modification to remove other dependencies on modules
in build.git.
Expected changes:
- RECIPE_MODULE[build::<module>] -> RECIPE_MODULE[skia::<module>]
- No more runit; directly run through Python.
Bug: skia:6628
Change-Id: I1b1370ed387966222ce10731771dbde9020cf542
Reviewed-on: https://skia-review.googlesource.com/17448
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Somehow this improves the imagefilterscropped gm.
This also makes it easier for me to manually parse
PDF output for debugging.
Change-Id: I3af39f4b0ca3fc7fcdeec4825bf8649bd9544917
Reviewed-on: https://skia-review.googlesource.com/17413
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Using the float iota was just an expedient to write the stage...
this CL adds the U32 iota that dither really wants.
Change-Id: I7990b10afd0c5277186b6b8e730245d291bcef0c
Reviewed-on: https://skia-review.googlesource.com/17441
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This used to need to be complicated to check for unimplemented stages,
but now that SkJumper rules the world, we can make this a lot simpler
and move a lot of the tricky stage selection logic into an SkOnce.
This should decrease the overhead of SkRasterPipeline::run().
Change-Id: I79d73f3315c7a1a52ab02747a5f17ce27d8cb9a4
Reviewed-on: https://skia-review.googlesource.com/17440
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 766f9cd555.
Reason for revert: unit test failures, I think on bots running portable code path
Original change's description:
> dither copies when decreasing precision
>
> Still seeing the same 4444 diffs on copyTo4444 and all_bitmap_configs,
> and now also 565 in all_bitmap_configs.
>
> BUG=chromium:720105
>
> Change-Id: I19406f57aa6d2b2f98d98c093da302b004c7cd8b
> Reviewed-on: https://skia-review.googlesource.com/17419
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Matt Sarett <msarett@google.com>
>
TBR=mtklein@chromium.org,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:720105
Change-Id: Ia9ece7dccef325233b870102ab38fbed2336b95d
Reviewed-on: https://skia-review.googlesource.com/17442
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Still seeing the same 4444 diffs on copyTo4444 and all_bitmap_configs,
and now also 565 in all_bitmap_configs.
BUG=chromium:720105
Change-Id: I19406f57aa6d2b2f98d98c093da302b004c7cd8b
Reviewed-on: https://skia-review.googlesource.com/17419
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Previosuly, we would (accidentally) always use just yuv.
Bug: 713862
Change-Id: I00acc6ca2841ba0636494119b7b4f46a9deee401
Reviewed-on: https://skia-review.googlesource.com/17406
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Summary of the new world...
--image
CodecSrc and ImageGenSrc tests run on:
(1) 8888 with kIgnore transfer fn behavior
(2) srgb with kRespect transfer fn behavior
(3) f16
AndroidCodecSrc and BRDCodecSrc tests run on:
(1) 8888, since SkAndroidCodec always uses kIgnore
(2) f16, since android uses f16
--colorImage
ColorCodecSrc tests run on:
(1) 8888 in kBaseline mode, so we can see what the raw pixels look like
(2) srgb in color correct modes
(3) f16 in color correct modes
Bug: skia:
Change-Id: I65d1a04051da6f94bf5e48f7bc610f482870dc75
Reviewed-on: https://skia-review.googlesource.com/17396
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
This CL, just to limit its size/complexity, only handles
colors but not textures. Future CLs will cover everything.
Performance is pretty exciting. Its faster than the old code-path,
and when we fix a bug in pathutils to preserve opaqueness, it gets
a lot faster (8 -> 5)
Bug: skia:
Change-Id: I4113060e25fe25fe4e6a0ea59bd4fa5e33abc668
Reviewed-on: https://skia-review.googlesource.com/17276
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
This fixes the attributes on sk_VertexID, and a backwards test on
SkSL::String::startsWith and ::endsWith.
Change-Id: Icfddfc8ca95454d8646a1771761685c2525b296e
Reviewed-on: https://skia-review.googlesource.com/17398
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Bug: skia:
Change-Id: If19e5a956d3f10448cfe889127c2f79d9c42926e
Reviewed-on: https://skia-review.googlesource.com/17372
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
I suspect that this will fix the failing golden image tests.
Bug: skia:
Change-Id: I9f88206ae782e6a04817e72cdfcb3e0c4bdaa293
Reviewed-on: https://skia-review.googlesource.com/17393
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>