| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=bungeman@google.com, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/313823004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/258883002/)
Reason for revert:
Memory leaks. I suspect this is due to the lack of destructors in SkAutoGlyphCache
Original issue's description:
> Gamma correction for distance field text.
>
> Handles both non-LCD and LCD text. Uses a texture to look up the gamma correction values for a given text color or luminance.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4d517fdbb145cb95e5e935470df331e1b6667cfc
NOTRY=true
NOTREECHECKS=true
R=reed@google.com, bungeman@google.com, robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, mtklein@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/323513005
|
|
|
|
|
|
|
|
|
|
|
| |
Handles both non-LCD and LCD text. Uses a texture to look up the gamma correction values for a given text color or luminance.
BUG=skia:
R=reed@google.com, bungeman@google.com, robertphillips@google.com, bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/258883002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/311373003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pre-allocates a range of path names and manages allocations within
that range on the client side. This allows us to generate new path
objects in a feed-forward manner that doesn't require round trips to
the GL server.
BUG=skia:
R=bsalomon@google.com, markkilgard@gmail.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/304403003
|
|
|
|
|
|
|
|
| |
R=robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/320273003
|
|
|
|
|
|
|
|
| |
R=jvanverth@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/324693002
|
|
|
|
|
|
|
|
| |
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/311263015
|
|
|
|
|
|
|
|
|
|
| |
The real question is whether we ever want to record a picture without using the path bounds for a conservative (but faster) clip answer?
R=reed@google.com, mtklein@google.com, djsollen@google.com, scroggo@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/316143003
|
|
|
|
|
|
|
|
|
|
| |
Toggling this for local testing is a bit of a chore.
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/316173004
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch begins the process of splitting apart SkPicture, SkPicturePlayback and SkPictureRecord.
This is still a bit messy. In a follow up CL I hope to delay the creation of SkPictureRecorder's SkPicture until endRecording time.
R=reed@google.com, mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/318763004
|
|
|
|
|
|
|
|
| |
This is blocking Chrome from rolling a new Clang, and me too for our TSAN bots.
BUG=chromium:381910
Review URL: https://codereview.chromium.org/325603002
|
|
|
|
|
|
|
|
|
|
|
|
| |
I am having a hard time getting TSAN's own atomic hooks to work on our bots,
but __atomic_foo work fine and are understood just fine by TSAN.
BUG=skia:
R=bungeman@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/320063003
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=humper@google.com
TBR=humper@google.com
NOTRY=True
NOTREECHECKS=True
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/324463005
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True
Author: humper@google.com
Review URL: https://codereview.chromium.org/314423002
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True
Author: humper@google.com
Review URL: https://codereview.chromium.org/324543002
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True
Author: humper@google.com
Review URL: https://codereview.chromium.org/320593003
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=bsalomon@google.com
TBR=bsalomon
NOTRY=True
NOTREECHECKS=True
Author: humper@google.com
Review URL: https://codereview.chromium.org/319543007
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True
Author: humper@google.com
Review URL: https://codereview.chromium.org/323583002
|
|
|
|
|
|
|
|
|
|
|
|
| |
scanlines on the CPU first. Should make extremely large drop shadows fast
again.
BUG=skia:
R=bsalomon@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/316273004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables all 565 blitters except S32A_D565_Opaque.
Here are some performance results:
S32_D565_Opaque:
================
+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
| 1 | -18.37% | -13.04% |
+-------+------------+------------+
| 2 | -9.90% | -13.78% |
+-------+------------+------------+
| 4 | -8.28% | -6.77% |
+-------+------------+------------+
| 8 | 157.63% | 78.15% |
+-------+------------+------------+
| 16 | 72.67% | 44.81% |
+-------+------------+------------+
| 64 | 76.78% | 40.89% |
+-------+------------+------------+
| 256 | 73.85% | 36.05% |
+-------+------------+------------+
| 1024 | 75.73% | 36.70% |
+-------+------------+------------+
S32_D565_Blend:
===============
+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
| 1 | -9.99% | -13.79% |
+-------+------------+------------+
| 2 | -9.17% | -6.74% |
+-------+------------+------------+
| 4 | -6.73% | -4.42% |
+-------+------------+------------+
| 8 | 163.31% | 112.82% |
+-------+------------+------------+
| 16 | 55.21% | 44.68% |
+-------+------------+------------+
| 64 | 54.09% | 41.99% |
+-------+------------+------------+
| 256 | 52.63% | 40.64% |
+-------+------------+------------+
| 1024 | 52.46% | 40.45% |
+-------+------------+------------+
S32A_D565_Blend:
================
+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
| 1 | -5.88% | -6.06% |
+-------+------------+------------+
| 2 | -4.74% | -0.01% |
+-------+------------+------------+
| 4 | -5.42% | -3.03% |
+-------+------------+------------+
| 8 | 78.78% | 77.96% |
+-------+------------+------------+
| 16 | 98.19% | 79.61% |
+-------+------------+------------+
| 64 | 111.56% | 72.60% |
+-------+------------+------------+
| 256 | 113.80% | 69.96% |
+-------+------------+------------+
| 1024 | 114.42% | 70.85% |
+-------+------------+------------+
S32_D565_Opaque_Dither:
=======================
+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
| 1 | -4.18% | -0.93% |
+-------+------------+------------+
| 2 | -2.43% | -2.04% |
+-------+------------+------------+
| 4 | -1.09% | -1.23% |
+-------+------------+------------+
| 8 | 184.89% | 136.53% |
+-------+------------+------------+
| 16 | 128.64% | 89.11% |
+-------+------------+------------+
| 64 | 132.68% | 100.98% |
+-------+------------+------------+
| 256 | 157.02% | 100.86% |
+-------+------------+------------+
| 1024 | 163.85% | 103.62% |
+-------+------------+------------+
S32_D565_Blend_Dither:
======================
+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
| 1 | -4.87% | 0.01% |
+-------+------------+------------+
| 2 | -2.71% | 2.97% |
+-------+------------+------------+
| 4 | -2.20% | 0.28% |
+-------+------------+------------+
| 8 | 149.76% | 146.80% |
+-------+------------+------------+
| 16 | 85.69% | 95.77% |
+-------+------------+------------+
| 64 | 88.81% | 101.39% |
+-------+------------+------------+
| 256 | 97.32% | 107.22% |
+-------+------------+------------+
| 1024 | 98.08% | 115.71% |
+-------+------------+------------+
S32A_D565_Opaque_Dither:
========================
+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
| 1 | -1.86% | 0.02% |
+-------+------------+------------+
| 2 | -0.58% | -1.52% |
+-------+------------+------------+
| 4 | -0.75% | 1.16% |
+-------+------------+------------+
| 8 | 240.74% | 155.16% |
+-------+------------+------------+
| 16 | 181.97% | 132.15% |
+-------+------------+------------+
| 64 | 203.11% | 136.48% |
+-------+------------+------------+
| 256 | 223.45% | 133.05% |
+-------+------------+------------+
| 1024 | 225.96% | 134.05% |
+-------+------------+------------+
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=skia:
R=djsollen@google.com, mtklein@google.com
Author: kevin.petit@arm.com
Review URL: https://codereview.chromium.org/317193003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bounds. (https://codereview.chromium.org/311373003/)
Reason for revert:
changed assert is failing
Original issue's description:
> Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/be4fd4f7349b97a7c34a4177ec26d8aea9616628
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/320573002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/311373003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was introduced by removing SkValidatingReadBuffer::readBitmap in https://codereview.chromium.org/295793002/
Since SkReadBuffer::skip wasn't virtual, it was using the unsafe SkReadBuffer::skip within SkReadBuffer::readBitmap rather than using SkValidatingReadBuffer::skip. I also removed direct uses of fReader within SkReadBuffer::readBitmap so that it can use the virtual readInt / readFixed functions that have a version in SkValidatingReadBuffer.
Also, I changed SkReadBuffer::readPoint so that it uses the virtual readScalar, that way, it becomes redundant with SkValidatingReadBuffer::readPoint, which can then be removed.
BUG=380723
R=reed@google.com, mtklein@google.com, sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/317003003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Looks like there is no good reason to have two copies of this function
doing the same thing with different name.
BUG=None
TEST=make tests
R=bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/318873002
|
|
|
|
|
|
|
|
|
|
|
| |
Fixing bug found by clusterfuzz in SkMatrixConvolutionImageFilter.
BUG=381244
R=senorblanco@google.com, senorblanco@chromium.org, sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/319003002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Slight counterproposal to crrev.com/310663002.
BUG=skia:
No API changes.
R=bungeman@google.com, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/306373002
|
|
|
|
|
|
|
|
| |
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/316063002
|
|
|
|
|
|
|
|
|
|
|
| |
The encoder comes with tests to check that the encoding/decoding
operations between ETC encoded bitmaps and ARGB bitmaps are sane.
R=bsalomon@google.com, robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/312353003
|
|
|
|
|
|
|
|
| |
The declaration and definition should have the same calling convention.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/317993002
|
|
|
|
|
|
|
|
| |
This is a continuation of https://codereview.chromium.org/314193002/ .
TBR=reed@google.com
Review URL: https://codereview.chromium.org/315173004
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split SkFontHost_win_dw into FontMgr, Typeface, and ScalerContext.
This makes working on these files easier, and moves away from the legacy
FontHost naming.
R=reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/314193002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(
This is intended to facilitate efficient kMatrix_SaveFlags emulation
on restore():
* collect all clip stack elements for the current save count into a
side clip stack
* canvas.restore(everything)
* replay the collected clip ops to restore the initial clip state
=> we restored the matrix but the clip state is unchanged
)
Two main changes:
* expose the save count for SkClipStack::Element
* expose a replay method for the same (logic relocated from
SkCanvas::replayClips)
The SkCanvas::ClipVisitor shuffling is to enable forward decl
in SkClipStack.h (cannot fwdecl a nested class).
R=reed@google.com, robertphillips@google.com
TBR=reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/269693003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using allocPixels to set the info and create a new pixelRef in one
shot, create the pixelRef with the corrected info of the bitmap (i.e.
alphatype).
Simplify the check to determine whether to copy the genID in SkBitmap::
copyTo's same configs/same sizes case. The old logic (only checking the
height and assuming the others must be the same) relied on a deep
(mis?)understanding of the rest of the function, and I cannot convince
myself that it has to be true, given that readPixels may have switched
src to a different SkBitmap. Instead, just compare the SkImageInfos,
which is much clearer. (This also caught a bug where a 565 bitmap had
the wrong alphatype, leading to the allocPixels fixes.)
If readPixels succeeds but the source is unpremultiplied, fail out
of copyTo, since readPixels assumes premultiplied.
When copying from 8888 to 4444 or in the fallback case of drawing,
return false if the alphatype is unpremul, which would have failed
anyway.
BUG=skia:2012
R=reed@google.com, bsalomon@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/317053003
|
|
|
|
|
|
|
|
|
|
| |
I see no callers in android
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/310283004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/289473009/)
Reason for revert:
Buildbot failures on Mac 10.6 and Mac 10.7.
R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com, henrik.smiding@intel.com
TBR=reed@google.com
NOTRY=True
Original issue's description:
> Add SSE4 optimization of S32A_Opaque_Blitrow
>
> Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD
> instruction set. Special case for when alpha is zero or opaque.
>
> Performance increase of 10%-400% compared to the existing SSE2
> optimization (measured on Silvermont architecture).
> Noticeable in ~25 different skia bench subtests, especially in
> bitmap_8888_*, repeatTile_*, and morph_*.
>
> bitmap_8888_A - 100% faster
> bitmap_8888_A_source_transparent - 250% faster
> bitmap_8888_A_source_opaque - 25% faster
> bitmap_8888_A_scale_bicubic - 75% faster
>
> Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
>
> Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/311053009
|
|
|
|
|
|
|
|
| |
R=scroggo@google.com, djsollen@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/319533004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD
instruction set. Special case for when alpha is zero or opaque.
Performance increase of 10%-400% compared to the existing SSE2
optimization (measured on Silvermont architecture).
Noticeable in ~25 different skia bench subtests, especially in
bitmap_8888_*, repeatTile_*, and morph_*.
bitmap_8888_A - 100% faster
bitmap_8888_A_source_transparent - 250% faster
bitmap_8888_A_source_opaque - 25% faster
bitmap_8888_A_scale_bicubic - 75% faster
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/289473009
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First bench: Simply render from a compressed ETC1 bitmap. This is roughly
equal between compressed and uncompressed data.
Second bench: Notify the bitmap that the pixels have changed (that's right,
like a liar) to force a re-upload to the GPU. On this bench, decompressed
textures seem to inexplicably do an order of magnitude better than
compressed textures when it should be the other way around, but that
investigation is reserved for a future CL.
R=robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/317023002
|
|
|
|
|
|
|
|
|
|
|
| |
This define has been removed from Blink and is no longer used anywhere.
R=reed@google.com
TBR=reed1
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/319513006
|
|
|
|
|
|
|
|
| |
From here on out, use SkDecodingImageGenerator+SkDiscardablePixelRef.
R=scroggo@google.com
Review URL: https://codereview.chromium.org/100183002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/314623004/)
Reason for revert:
Need to create utils.gypi file and update chrome
Original issue's description:
> Move Dashing filterPath to a dashing utils file
>
> From inside GrContext, we have a need to create an SkPath an original path and
> some dashing info. We do not have access to the original path effect so we need
> a way to make the FilterPath function accessible outside of the effect. So I moved
> the core filterPath code (and all need helper functions) out of SkDashPathEffect
> and created a SkDashPath in utils to store these helper functions.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/576dcdc793a762ec63fbecdbfd5768066b548fe5
R=bsalomon@google.com, reed@google.com, rmistry@google.com
TBR=bsalomon@google.com, reed@google.com, rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/317663003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SkTransparentShader is just a placeholder that should not
actually be used, so its CTM is not meaningful. However, it needs
to be invertible in order to not assert in SkShader::Context's
constructor. So use SkMatrix::I().
This fixes a CTS test on Android.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/315743003
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=bsalomon@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/310113006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From inside GrContext, we have a need to create an SkPath an original path and
some dashing info. We do not have access to the original path effect so we need
a way to make the FilterPath function accessible outside of the effect. So I moved
the core filterPath code (and all need helper functions) out of SkDashPathEffect
and created a SkDashPath in utils to store these helper functions.
BUG=skia:
R=bsalomon@google.com, reed@google.com, rmistry@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/314623004
|
|
|
|
|
|
|
|
| |
R=reed@google.com, bsalomon@google.com, mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In SkLayerRasterizer::snapshotRasterizer() and ::detachRasterizer(),
if no layers have been added, do not attempt to create an
SkLayerRasterizer. Instead, return NULL.
This fixes an error when running tests on Android.
Update dox to state that NULL may be returned.
Add tests.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/313653006
|
|
|
|
|
|
|
|
| |
R=bsalomon@google.com, robertphillips@google.com, halcanary@google.com, reed@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/302333002
|
|
|
|
|
|
|
|
|
|
|
| |
That's what it means. It keeps confusing us as named today.
BUG=skia:
R=djsollen@google.com, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/314643004
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/312553006
|