Previously, we reported the first image as soon as it was available. As
a result, in crrev.com/2565323003, InitializeNewFrame might be called
before the metadata is known, meaning it would read the wrong metadata.
Instead of looking at the imagesCount(), SkGifCodec::NewFromStream looks
at frameContext(0), which may still exist even if it's not yet counted
in imagesCount().
Add a test that confirms the desired behavior.
Change-Id: Ib392721ecd2218ba0fcd35aaa64117c0ba3e4ea6
Reviewed-on: https://skia-review.googlesource.com/24405
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
This reverts commit e3e9628ecf.
Adds blendmode_mask_* benchs to blacklist for Chromecast.
Otherwise a clean revert of the revert.
Bug: skia:
Change-Id: I9f64ae55804fa4aad97c1785834281039570c56c
Reviewed-on: https://skia-review.googlesource.com/24409
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This ensures they don't get truncated by the ADB log.
Bug: skia:
Change-Id: I5ad0222e54f667c0dd3a5b1174d43588d90ca231
Reviewed-on: https://skia-review.googlesource.com/24421
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
gather_i8 is now unused, so we can remove it.
That in turn makes the ctable field of SkJumper_GatherCtx unused.
After removing ctable, SkJumper_GatherCtx and SkJumper_PtrStride look
identical, so I've now fused them into SkJumper_MemoryCtx, which will
eventually be used by everything loading from, gathering from, or
storing to memory.
Change-Id: Ia882d2dbd54c9fcf9a8250a1ce83304389dd284a
Reviewed-on: https://skia-review.googlesource.com/24085
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 1e0779ba11.
Reason for revert: Flutter and Fuchsia have both been switched to new API!
Original change's description:
> Revert "remove dead code for legacy image encode api"
>
> This reverts commit 41ed7f3379.
>
> Reason for revert: Need this in temporarily to navigate Flutter and Fuchsia rolls.
>
> Original change's description:
> > remove dead code for legacy image encode api
> >
> > Bug: skia:
> > Change-Id: Ia90d776946281473c56cd93006df1b523475696a
> > Reviewed-on: https://skia-review.googlesource.com/23022
> > Reviewed-by: Leon Scroggins <scroggo@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
>
> TBR=scroggo@google.com,reed@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: skia:
> Change-Id: I078762fc13de0c455dc6f8a5725d9529af03bffc
> Reviewed-on: https://skia-review.googlesource.com/23385
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=scroggo@google.com,brianosman@google.com,reed@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: I2b45facf21a97d01a81c7f311252d2f45eb1f61e
Reviewed-on: https://skia-review.googlesource.com/24281
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 38fb308f31.
Reason for revert: Reland with SkSL caps fix for vulkan
Original change's description:
> Revert "Improvements to GPU dither."
>
> This reverts commit 1806e33e6a.
>
> Reason for revert: <INSERT REASONING HERE>
>
> Original change's description:
> > Improvements to GPU dither.
> >
> > 1) Makes the range of the offset dependent on the config.
> >
> > 2) Uses an ordered dither on GPUs that support integers in shaders.
> >
> > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444
> >
> > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).
> >
> > Bug: skia:
> > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
> > Reviewed-on: https://skia-review.googlesource.com/23485
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=bsalomon@google.com,robertphillips@google.com
>
> Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/24325
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,robertphillips@google.com
Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/24282
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: skia:6850
Change-Id: Idaa92d2b4233b9f03a15d70cc185261f0090bab4
Reviewed-on: https://skia-review.googlesource.com/24404
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Also, de-dup shader better.
- SkBitmapKeyFromImage function factors out image de-dup code.
- SkPDFUtils::ToBitmap funtion factors out to-bitmap code
- make_image_shader function now takes Image rather than Bitmap.
All tests render the same. Some are significantly smaller PDFs.
Change-Id: Id8dd36b31c8e573f44a5e9f6058d5a1d622b6385
Reviewed-on: https://skia-review.googlesource.com/24081
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>
- Add run_2d(x,y,w,h) and start_pipeline_2d().
- Add and test a 2d-compatible store_8888_2d stage.
Change-Id: Ib9c225d1b8cb40471ae4333df1d06eec4d506f8a
Reviewed-on: https://skia-review.googlesource.com/24401
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
- in _lowp.cpp, JUMPER is always defined, so no need to check.
- the return type of this function has been void for a while.
Change-Id: I5271e8dab784f46c7ffa9cfba6eb55b5e399b537
Reviewed-on: https://skia-review.googlesource.com/24326
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: Ib8e89e5e9a75d24b69c23873168fcc23f9eb5c45
Reviewed-on: https://skia-review.googlesource.com/24063
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This reverts commit 1806e33e6a.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Improvements to GPU dither.
>
> 1) Makes the range of the offset dependent on the config.
>
> 2) Uses an ordered dither on GPUs that support integers in shaders.
>
> 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444
>
> 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).
>
> Bug: skia:
> Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
> Reviewed-on: https://skia-review.googlesource.com/23485
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=bsalomon@google.com,robertphillips@google.com
Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/24325
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
1) Makes the range of the offset dependent on the config.
2) Uses an ordered dither on GPUs that support integers in shaders.
3) Enables dithering for all paints with dither flag when the color type of the dst is 4444
4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).
Bug: skia:
Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
Reviewed-on: https://skia-review.googlesource.com/23485
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Motivation: This compiler configuration has a few quirks.
Change-Id: I9c50a15510f4b770f8643b21e9e7cdf57264bc50
Reviewed-on: https://skia-review.googlesource.com/24324
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
This reverts commit 63b6f8b932.
SkPDF: Non-outline glyphs as images
- Cache images in PDF Canon for de-duping
- For now, rasterize at text scale. In the future, look at CTM and
fRasterScale.
Original CL: https://skia-review.googlesource.com/24080
BUG=chromium:705480
BUG=skia:3489
Reviewed-by: Ben Wagner <bungeman@google.com>
Change-Id: I99783df72c945cfb4b24b6d4db99418aa34e0897
Reviewed-on: https://skia-review.googlesource.com/24322
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Mimics SkWebpCodec, but it is simpler, because each pixel is either
opaque or transparent, so blending just means using the new pixel if not
transparent.
Correct the offset when blending f16 frames. It needs to be doubled,
since the swizzler used a 4-byte format while f16 is 8-byte.
Remove an unnecessary call to sk_bzero.
Bug: skia:6750
Change-Id: I8b88d1d66bff660c98c2083031231678a7be5460
Reviewed-on: https://skia-review.googlesource.com/24240
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
The most interesting part of this is getting the call to start_pipeline
to work. From there it should be just like the other x86 backend.
The 32-bit calling conventions are the same across Linux/Mac and
Windows, so that's nice. The tricky bit is that Linux and Mac
align the stack to 16 bytes, while Windows only to 4. I think
this force_align_arg_pointer attribute on start_pipeline does the trick.
This needs a guard for layout tests.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win2k8-MSVC-GCE-CPU-AVX2-x86-Debug;master.tryserver.blink:win10_blink_rel,win7_blink_rel;master.tryserver.chromium.win:win_chromium_rel_ng
Change-Id: Ia74d22e5a4ce5483c9817b8a8f89dd21885bbd14
Reviewed-on: https://skia-review.googlesource.com/20968
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Lots more changes coming later (need to remove colortable parameters from bitmaps and pixmaps)
Bug: skia:6828
Change-Id: Ic63e89570644839fab068141f49915b3f66d1053
Reviewed-on: https://skia-review.googlesource.com/24127
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This reverts commit 3cf6b79e50.
Reason for revert: breaking build
../../../../../work/skia/src/pdf/SkPDFDevice.cpp: In member function 'void SkPDFDevice::internalDrawText(const void*, size_t, const SkScalar*, SkTextBlob::GlyphPositioning, SkPoint, const SkPaint&, const uint32_t*, uint32_t, const char*)':
../../../../../work/skia/src/pdf/SkPDFDevice.cpp:1578:31: error: missing initializer for member 'SkPoint::fX' [-Werror=missing-field-initializers]
SkPoint xy = {};
^
Original change's description:
> SkPDF: Non-outline glyphs as images
>
> - Cache images in PDF Canon for de-duping
> - For now, rasterize at text scale. in the future, look at CTM and
> fRasterScale.
> - add a test that works on MacOS
>
> BUG=chromium:705480
> BUG=skia:3489
> Change-Id: I4fbc42f218e5b81ea15ea6cdccc61c91e532f6d0
> Reviewed-on: https://skia-review.googlesource.com/24080
> Commit-Queue: Hal Canary <halcanary@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>
TBR=halcanary@google.com,bungeman@google.com
Change-Id: I3d8800fcb33817c6065da0860a534eb14350d132
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:705480, skia:3489
Reviewed-on: https://skia-review.googlesource.com/24160
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
- Cache images in PDF Canon for de-duping
- For now, rasterize at text scale. in the future, look at CTM and
fRasterScale.
- add a test that works on MacOS
BUG=chromium:705480
BUG=skia:3489
Change-Id: I4fbc42f218e5b81ea15ea6cdccc61c91e532f6d0
Reviewed-on: https://skia-review.googlesource.com/24080
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Needs google3 to be updated before this can land.
Bug: skia:6828
Change-Id: I2c16be13c6937ffa48768cc24f9f980171c824d6
Reviewed-on: https://skia-review.googlesource.com/23940
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: I395e3387df44cf5370fef6ab73db73228225622f
Reviewed-on: https://skia-review.googlesource.com/23946
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Fixes flutter license script hang
Bug: skia:6854
Change-Id: I8eb69641888805411eb2d9ee4dbf50f281ac1b4b
Reviewed-on: https://skia-review.googlesource.com/23944
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Iaecae142dcf268517f8918d9f4fa6a64db194fab
Reviewed-on: https://skia-review.googlesource.com/23942
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
This reverts commit 434a58ab5f.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Make GrAtlasTextOp a non-legacy GrMeshDrawOp
>
> Change-Id: Ib9eaf149100b0ccecf1c18a755263f2579b8e6f6
> Reviewed-on: https://skia-review.googlesource.com/23482
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=jvanverth@google.com,bsalomon@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I7fd8503b4e0c297b2cfaf979545354aa58d1f989
Reviewed-on: https://skia-review.googlesource.com/23760
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
May sites will all onMakeColorSpace every frame, resulting repeatedly
re-created new SkImage_Lazy class instances, new cache keys, and
repeated cache misses.
Save the most recent result from onMakeColorSpace, to avoid this thrash.
Bug:741607
Change-Id: I34091327a17275722f82ed372eb0b341806a9ddc
Reviewed-on: https://skia-review.googlesource.com/23287
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>