msarett@ realized that if all of the encoders were disabled, then it
is equivalent to SkImageEncoder.cpp.
Change-Id: Ib3d5d7d061e1a60d7081689430107fb250903d5c
Reviewed-on: https://skia-review.googlesource.com/20440
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Remove more state, handle multiple paths just like multiple contours in
a single path. This fixes the problem with the subpath index start going
out of range as well.
Bug: skia:
Change-Id: I08023057a06d55df7398a60e081b4da6eed467ce
Reviewed-on: https://skia-review.googlesource.com/20326
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
PathGeoBuilder constructs the geometry with the same basic
technique as before, but allows interrupting the process
to emit multiple draws.
Original test case was 2000 non-AA stroked circles, which
created ~66000 vertices. That now renders, as do various
tests with a single large path (as well as filled paths).
Added a new set of 'AtLeast' allocators for vertex and index
data. These take a minimum size and a fallback size. If the
minimum size can be satisfied by an existing block, then
the caller gets *all* memory in that block, otherwise they
get a new block sized for the fallback amount. The previous
allocation scheme wasn't a good fit for the new use-case,
and because we don't usually need many verts, the flexible
approach seems appropriate.
TODO: I think that this could be extracted and re-used for
MSAA path renderer without too much work? I need to read
that code more carefully to make sure it lines up.
Re-land of: https://skia-review.googlesource.com/18360
Re-land of: https://skia-review.googlesource.com/18983
Bug: skia:6695
Change-Id: I09ac1273e5af67ed0e3e886de90e2970c3d0b239
Reviewed-on: https://skia-review.googlesource.com/19480
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:
Change-Id: If5220248dbc505ff984d09833df7e18934d71438
Reviewed-on: https://skia-review.googlesource.com/20321
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Deferred rendering in Android will need the ability to use this in
kIfMutable mode.
Bug: skia:
Change-Id: I5194f2c50f9d17351fdab49373ca9bc1e80cf586
Reviewed-on: https://skia-review.googlesource.com/20157
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
This doesn't change the generated code (no .S files change),
but it does rephrase what we're trying to do to make it
generalize to AVX2 better:
- load 4 floats
- add 256.0f to each
- splat out the low 2 bytes of each 4 byte lane as r,g,b,a
Change-Id: Iadc5bc1f2a268679d1ccadd31cd24949a71e0aa4
Reviewed-on: https://skia-review.googlesource.com/20270
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
JUMPER is always defined in that file;
we never use it as a portable fallback.
Change-Id: Ic7caf726191599d4058adbf80084ede9f80676ee
Reviewed-on: https://skia-review.googlesource.com/20271
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
We're only using Sk4fGradients for raster pipeline burst mode => dest is
always F32.
Change-Id: If8f0ce257fc9ef36da33602ffd61617628733cfc
Reviewed-on: https://skia-review.googlesource.com/20280
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Just like the time via, but instead of printing how long the thing took
to run it prints how much memory was used by the process at peak.
When ok runs in (default) process-per-task mode, this is quite handy.
Change-Id: I331d446e39363a44c545278d7153fa7548e2add0
Reviewed-on: https://skia-review.googlesource.com/20261
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This CL: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) introduced a perf regression.
Cached textures can appear in different GrSurfaceProxies but have the same underlying GrTexture.
Bug: 729233
Change-Id: Ifd7a9260a8a4535e8440c0d837bfdc445a921aa4
Reviewed-on: https://skia-review.googlesource.com/20223
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Now we don't have to rely on the linker to de-duplicate
so many gHex[] constants.
Change-Id: Ia86d3a92648415afdb8d29499b4faded5ed05c7d
Reviewed-on: https://skia-review.googlesource.com/20180
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
... except for 565.
Change-Id: I8ab633661c54583478234a46942ef804eb74a619
Reviewed-on: https://skia-review.googlesource.com/19880
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
will revert if its needed in android
Bug: skia:
Change-Id: I2ef777d31de4bbed6556d013054083ff6ff2cb8c
Reviewed-on: https://skia-review.googlesource.com/20206
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
VC++ 2017 fixes the internal compiler error which prevented using
constexpr for some BlendFormula arrays, so tweak the #ifdefs to
enable constexpr for 2017.
This gets rid of two constructors and slightly shrinks chrome_child.dll
BUG=chromium:341941
Change-Id: Ic4079b2da393ee89dd38da5bbb2d7c8ede8020e8
Reviewed-on: https://skia-review.googlesource.com/20160
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
BUG=skia:6766
Change-Id: I1bf8720cac24092352fd99d8d509252a10270b54
Reviewed-on: https://skia-review.googlesource.com/20020
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Today gCount maxes out at 66, so 128 seems like plenty of room for now.
Change-Id: Id29d7a0232047d07a5ea7c43e4f2d874f055165a
Reviewed-on: https://skia-review.googlesource.com/19740
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Bug: skia:6704
Change-Id: Id3cefa643316e5676d2038a75240e16d929d6d63
Reviewed-on: https://skia-review.googlesource.com/20146
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
This reverts commit 56af45b03c.
Reason for revert: Relanding now that pre CL has relanded
Original change's description:
> Revert "Remove Gr*Gpu includes from header files."
>
> This reverts commit 2bd381bffd.
>
> Reason for revert: Need to revert change this landed on top of
>
> Original change's description:
> > Remove Gr*Gpu includes from header files.
> >
> > Some general cleanup to try to keep use of the backend gpu class in cpps.
> >
> > Bug: skia:
> > Change-Id: I1a28e0e5c2e55562b3fff56c284c3405b5b6d8bc
> > Reviewed-on: https://skia-review.googlesource.com/20057
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,robertphillips@google.com
>
> Change-Id: I5b27d50654a17502c056d59b2d4f9609376d189e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/20064
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,robertphillips@google.com
Change-Id: Id1656a7708223bc4dcc8eb4444ef41ada61be5d0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20148
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>