Commit Graph

18466 Commits

Author SHA1 Message Date
reed
6f1216ac15 cache private readback for gpu-images
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
2015-08-04 08:10:13 -07:00
robertphillips
fae010266f Remove IGNORE_ROT_AA_RECT_OPT flag
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
2015-08-04 08:04:29 -07:00
wangyix
4b3050b410 Added registerChild; transforms, textures, glKey automatically handled.
BUG=skia:

Review URL: https://codereview.chromium.org/1266633003
2015-08-04 07:59:37 -07:00
Stephen White
c369348aa5 Fix SkData leaks at GrResourceKey::setCustomData() call sites.
BUG=skia:
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1270103003 .
2015-08-03 21:53:09 -04:00
mtklein
1d183b4cb3 Revert of SkCanvas::onDrawPicture() quick-reject (patchset #3 id:40001 of 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
2015-08-03 18:08:30 -07:00
fmalita
48ed62b29d SkCanvas::onDrawPicture() quick-reject
R=reed@google.com,mtklein@google.com

Review URL: https://codereview.chromium.org/1264133003
2015-08-03 15:30:35 -07:00
reed
e00368018d remove flags that control no code
BUG=skia:

Review URL: https://codereview.chromium.org/1259653004
2015-08-03 14:44:32 -07:00
bsalomon
c41f4d6055 Fix elliptical rrect clip shaders for large radii on devices with mediump
BUG=chromium:426217

Review URL: https://codereview.chromium.org/1256353004
2015-08-03 14:23:03 -07:00
reed
799a3646f9 add bench for gpu-image -> cpu-surface
BUG=513695
TBR=

Review URL: https://codereview.chromium.org/1261663004
2015-08-03 14:18:04 -07:00
Stephen White
b001c41ed3 Fix resource cache test.
TBR=bsalomon@chromium.org

Review URL: https://codereview.chromium.org/1257253007 .
2015-08-03 16:30:23 -04:00
senorblanco
468dfa72eb Implement caching of filled paths in the tessellated path renderer.
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
2015-08-03 13:04:03 -07:00
reed
4dea94f621 remove getdevice guard for android
BUG=skia:
NOTRY=True

Review URL: https://codereview.chromium.org/1266363002
2015-08-03 11:45:34 -07:00
joshualitt
df0c557850 Use new API everywhere for GrDefaultGeoProcFactory
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/801823b3d825d96baadeb9077c5ed1a8ada05cf2

Review URL: https://codereview.chromium.org/1261083003
2015-08-03 11:35:29 -07:00
mtklein
f23190078b Missing overrides for Sinks in HWUI.
See crrev.com/1263113002

BUG=skia:4138

Review URL: https://codereview.chromium.org/1263143004
2015-08-03 10:20:28 -07:00
joshualitt
17d833b05b Add abliity to set textblob cache budget to GrContext
BUG=skia:

Review URL: https://codereview.chromium.org/1264283002
2015-08-03 10:17:44 -07:00
bsalomon
445fc43b9d Update assert to allow config conversion effect for all configs when not premul/unpremuling
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/1258763006
2015-08-03 10:15:25 -07:00
joshualitt
e494a58de3 Revert of Use new API everywhere for GrDefaultGeoProcFactory (patchset #5 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
2015-08-03 09:32:36 -07:00
joshualitt
801823b3d8 Use new API everywhere for GrDefaultGeoProcFactory
BUG=skia:

Review URL: https://codereview.chromium.org/1261083003
2015-08-03 09:03:33 -07:00
Derek Sollenberger
849a620c45 add missing comma
Review URL: https://codereview.chromium.org/1268483003 .
2015-08-03 11:41:53 -04:00
bungeman
1d58773c25 Update NulCanvas so everything builds.
SkNulCanvas.h is out of date, so the 'all' target fails.

Review URL: https://codereview.chromium.org/1270633004
2015-08-03 07:56:16 -07:00
halcanary
f948b85a56 Documentation: SkPathEffect
NOTRY=true
DOCS_PREVIEW= https://skia.org/user/api/skpaint?cl=1269563008

Review URL: https://codereview.chromium.org/1269563008
2015-08-03 06:55:20 -07:00
djsollen
d8ea6b4f87 fix tests for android framework build
Review URL: https://codereview.chromium.org/1263243003
2015-08-03 06:03:06 -07:00
joshualitt
d45fb5a3a5 Add BW masks to random scaler context
TBR=bsalomon@google.com
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/a4a530614e9ba856aac3f16c29683e6a2a9153d9

Review URL: https://codereview.chromium.org/1270793003
2015-08-01 10:33:40 -07:00
joshualitt
2a6f747cdd Revert of Add BW masks to random scaler context (patchset #1 id:1 of 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
2015-08-01 10:17:53 -07:00
joshualitt
a4a530614e Add BW masks to random scaler context
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1270793003
2015-08-01 09:36:02 -07:00
joshualitt
44c4851c91 adding gm to use random scaler context
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/853336c532504b3436d7dcbf252419f00c79066d

Review URL: https://codereview.chromium.org/1268853008
2015-08-01 07:33:42 -07:00
reed
c2e6827952 remove now-dead flags
BUG=skia:

Review URL: https://codereview.chromium.org/1258963005
2015-08-01 07:03:20 -07:00
bungeman
76bb228106 Fix no-gpu debugger.
Review URL: https://codereview.chromium.org/1262723005
2015-07-31 15:46:03 -07:00
joshualitt
7e97b0bad0 Move strike to subrun in GrAtlasTextContext
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/77d89f7dd243a17452d3a5f16a98622993e6bdd9

Review URL: https://codereview.chromium.org/1257253005
2015-07-31 15:18:08 -07:00
halcanary
80a1c54740 C API: remove dead code, simplify boilerplate
Review URL: https://codereview.chromium.org/1261953006
2015-07-31 15:16:23 -07:00
joshualitt
d164a710c7 Revert of adding gm to use random scaler context (patchset #4 id:60001 of 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
2015-07-31 15:10:31 -07:00
mtklein
f96bee384d disable SkOpts on x86 iOS (simulator)
TBR=

BUG=skia:

Review URL: https://codereview.chromium.org/1266443006
2015-07-31 14:47:25 -07:00
joshualitt
853336c532 adding gm to use random scaler context
BUG=skia:

Review URL: https://codereview.chromium.org/1268853008
2015-07-31 14:46:46 -07:00
scroggo
aa80e425d8 Fix straggling SK_VIRTUAL_CONSTRAINT_TYPEs
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
2015-07-31 14:29:26 -07:00
joshualitt
da9ccf1754 Revert of Move strike to subrun in GrAtlasTextContext (patchset #3 id:40001 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
2015-07-31 14:07:51 -07:00
mtklein
bdb34d0345 Move SkOpts.h back to src/core.
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
2015-07-31 14:02:36 -07:00
bsalomon
eae6200acb Some cleanup in GrTextureProvider and GrResourceProvider.
Review URL: https://codereview.chromium.org/1261643004
2015-07-31 13:59:31 -07:00
joshualitt
77d89f7dd2 Move strike to subrun in GrAtlasTextContext
BUG=skia:

Review URL: https://codereview.chromium.org/1257253005
2015-07-31 13:58:27 -07:00
halcanary
7568d0b15e C API: add sk_xfermode.h, impl, test
Review URL: https://codereview.chromium.org/1242403005
2015-07-31 13:38:06 -07:00
bsalomon
85cd78dd6c Speculative fix for http://crbug.com/515966
BUG=chromium:515966

Review URL: https://codereview.chromium.org/1268723005
2015-07-31 12:15:50 -07:00
halcanary
ec994b65be Documentation spelling error
BUG=skia:4157
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/1267843002
2015-07-31 12:02:18 -07:00
halcanary
82314e9578 Documentation: SkXfermode::Mode
BUG=skia:4157
NOTRY=true
DOCS_PREVIEW= https://skia.org/user/api/skpaint?cl=1270643004

Review URL: https://codereview.chromium.org/1270643004
2015-07-31 11:58:13 -07:00
joshualitt
d1ebe0689d Another small fix to GrFontScaler
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1261433006
2015-07-31 11:55:30 -07:00
bsalomon
383ff1047f Remove unnecessary virtual destructor on SkTArray
Review URL: https://codereview.chromium.org/1259143006
2015-07-31 11:53:11 -07:00
mtklein
490b61569d Port SkXfermode opts to SkOpts.h
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
2015-07-31 11:50:27 -07:00
reed
685f277dba use SkNextID::ImageID for android's stable id
BUG=skia:

Review URL: https://codereview.chromium.org/1263463003
2015-07-31 11:46:12 -07:00
joshualitt
65e96b4eb9 Modifying TextBlobCacheTest to use SkRandomScalerContext
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/adcdca86ce425cf8c28bfad311cef028df756ee8

Review URL: https://codereview.chromium.org/1266003002
2015-07-31 11:45:22 -07:00
bsalomon
88c7b988ba Make ANGLE perf decisions be runtime rather than compile time
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/1268953002
2015-07-31 11:20:16 -07:00
mtklein
7eb0945af2 Port SkUtils opts to SkOpts.
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
2015-07-31 10:46:50 -07:00
djsollen
5119ac069e Update Android Testing apps to support release mode
BUG=skia:4152

Review URL: https://codereview.chromium.org/1259123003
2015-07-31 10:25:17 -07:00