| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
Nothing too fancy.
Direction enums become enum classes so they don't get all confused. An
alternative is to create one single Direction enum that both blur and
morphology opts use.
BUG=skia:4117
Review URL: https://codereview.chromium.org/1267343004
|
|
|
|
|
|
| |
R=reed@google.com
Review URL: https://codereview.chromium.org/1240093004
|
|
|
|
|
|
|
|
|
| |
This organizes memset16, memset32, and rsqrt the same way as the other code. No functional change.
BUG=skia:4117
R=djsollen@google.com
Review URL: https://codereview.chromium.org/1264423002 .
|
|
|
|
|
|
|
| |
BUG=skia:4117
R=mtklein@google.com
Review URL: https://codereview.chromium.org/1262213005 .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.
Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.
In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.
Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.
BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004
Committed: https://skia.googlesource.com/skia/+/468dfa72eb6694145487be17876804dfca3b7adb
Review URL: https://codereview.chromium.org/1114353004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1271873002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this CL, if a client wanted to decode scanlines, they had to
create an SkCodec in order to get an SkScanlineDecoder. This introduces
complications if input data is not easily shared between the two
objects.
Instead, add methods to SkScanlineDecoder for creating a new one from
input data, and remove the creation functions from SkCodec.
Update DM and tests.
Review URL: https://codereview.chromium.org/1267583002
|
|
|
|
|
|
|
|
|
|
|
|
| |
+268 -535 lines
I also rearranged the code a little bit to encapsulate itself better,
mostly replacing static helper functions with lambdas. This also
let me merge the SSE2 and SSE4.1 code paths.
BUG=skia:4117
Review URL: https://codereview.chromium.org/1264103004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 468dfa72eb6694145487be17876804dfca3b7adb.
This CL caused signficant GM diffs.
Revert "Fix resource cache test."
This reverts commit b001c41ed37d2018d38ce787b412ed741585d75d.
Revert "Fix SkData leaks at GrResourceKey::setCustomData() call sites."
This reverts commit c369348aa596d7be05c9ce0ca5d349e5d1903789.
These CLs depend on the first one.
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1260363007
|
|
|
|
|
|
|
|
|
|
|
|
| |
Does not try to cache calls to readPixels at the moment:
- not triggered by drawing
- not clear if we want to perform any pixel transformations (that readPixels allows) on the GPU or CPU
Can consider that another time.
BUG=513695
Review URL: https://codereview.chromium.org/1262923003
|
|
|
|
|
|
| |
It looks like the positive version was added (SHADER_AA_FILL_RECT) but the negative version wasn't removed.
Review URL: https://codereview.chromium.org/1271903003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1266633003
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1270103003 .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1264133003/ )
Reason for revert:
webkit_unit_tests :(
Original issue's description:
> SkCanvas::onDrawPicture() quick-reject
>
> R=reed@google.com,mtklein@google.com
>
> Committed: https://skia.googlesource.com/skia/+/48ed62b29d45e42b971aac8858da06781c93e6d7
TBR=reed@google.com,fmalita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1273433002
|
|
|
|
|
|
| |
R=reed@google.com,mtklein@google.com
Review URL: https://codereview.chromium.org/1264133003
|
|
|
|
|
|
| |
BUG=chromium:426217
Review URL: https://codereview.chromium.org/1256353004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.
Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.
In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.
Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.
BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004
Review URL: https://codereview.chromium.org/1114353004
|
|
|
|
|
|
|
|
| |
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/801823b3d825d96baadeb9077c5ed1a8ada05cf2
Review URL: https://codereview.chromium.org/1261083003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1264283002
|
|
|
|
|
|
|
|
| |
premul/unpremuling
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/1258763006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
id:80001 of https://codereview.chromium.org/1261083003/)
Reason for revert:
breaking things
Original issue's description:
> Use new API everywhere for GrDefaultGeoProcFactory
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/801823b3d825d96baadeb9077c5ed1a8ada05cf2
TBR=robertphillips@google.com,bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1264283004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1261083003
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1268483003 .
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1263243003
|
|
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/a4a530614e9ba856aac3f16c29683e6a2a9153d9
Review URL: https://codereview.chromium.org/1270793003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1270793003/)
Reason for revert:
breaks mac
Original issue's description:
> Add BW masks to random scaler context
>
> TBR=bsalomon@google.com
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/a4a530614e9ba856aac3f16c29683e6a2a9153d9
TBR=joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1264843003
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1270793003
|
|
|
|
|
|
|
|
| |
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/853336c532504b3436d7dcbf252419f00c79066d
Review URL: https://codereview.chromium.org/1268853008
|
|
|
|
|
|
|
|
| |
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/77d89f7dd243a17452d3a5f16a98622993e6bdd9
Review URL: https://codereview.chromium.org/1257253005
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1261953006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1268853008/)
Reason for revert:
breaking bots
Original issue's description:
> adding gm to use random scaler context
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/853336c532504b3436d7dcbf252419f00c79066d
TBR=bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1259033004
|
|
|
|
|
|
|
|
| |
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/1266443006
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1268853008
|
|
|
|
|
|
|
|
|
| |
These were removed with crrev.com/1239193002, but a few were missed
in files that are only build on Android framework.
Brings the Android build one step closer to building.
Review URL: https://codereview.chromium.org/1268603003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of https://codereview.chromium.org/1257253005/)
Reason for revert:
breaking bots
Original issue's description:
> Move strike to subrun in GrAtlasTextContext
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/77d89f7dd243a17452d3a5f16a98622993e6bdd9
TBR=bsalomon@google.com,robertphillips@google.com,jvanverth@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1266253002
|
|
|
|
|
|
|
|
|
|
|
| |
The Chrome opts targets (sse2, ssse3, sse41, etc) don't have include/private on
their include path. This should unblock the roll.
TBR=reed@google.com
BUG=skia:4117
Review URL: https://codereview.chromium.org/1268853007
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1261643004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1257253005
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1242403005
|
|
|
|
|
|
| |
BUG=chromium:515966
Review URL: https://codereview.chromium.org/1268723005
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1261433006
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Renames Sk4pxXfermode.h to SkXfermode_opts.h,
and refactors it a tiny bit internally.
This moves xfermode optimization from being "compile-time everywhere but NEON"
to simply "runtime everywhere". I don't anticipate any effect on perf or
correctness.
BUG=skia:4117
Review URL: https://codereview.chromium.org/1264543006
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1263463003
|
|
|
|
|
|
|
|
| |
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/adcdca86ce425cf8c28bfad311cef028df756ee8
Review URL: https://codereview.chromium.org/1266003002
|
|
|
|
|
|
| |
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/1268953002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this new arrangement, the benefits of inlining sk_memset16/32 have changed.
On x86, they're not significantly different, except for small N<=10 where the inlined code is significantly slower.
On ARMv7 with NEON, our custom code is still significantly faster for N>10 (up to 2x faster). For small N<=10 inlining is still significantly faster.
On ARMv7 without NEON, our custom code is still ridiculously faster (up to 10x) than inlining for N>10, though for small N<=10 inlining is still a little faster.
We were not using the NEON memset16 and memset32 procs on ARMv8. At first blush, that seems to be an oversight, but if so it's an extremely lucky one. The ARMv8 code generation for our memset16/32 procs is total garbage, leaving those methods ~8x slower than just inlining the memset, using the compiler's autovectorization.
So, no need to inline any more on x86, and still inline for N<=10 on ARMv7. Always inline for ARMv8.
BUG=skia:4117
Review URL: https://codereview.chromium.org/1270573002
|
|
|
|
|
|
| |
BUG=chromium:513797
Review URL: https://codereview.chromium.org/1265003002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1253003005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#3 id:40001 of https://codereview.chromium.org/1266003002/)
Reason for revert:
breaking android
Original issue's description:
> Modifying TextBlobCacheTest to use SkRandomScalerContext
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/adcdca86ce425cf8c28bfad311cef028df756ee8
TBR=bungeman@google.com,bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1267623004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1266003002
|