mtklein
c92c129ff8
Sketch splitting SkPicture into an interface and SkBigPicture.
...
Adds small pictures for drawRect(), drawTextBlob(), and drawPath().
These cover about 89% of draw calls from Blink SKPs,
and about 25% of draw calls from our GMs.
SkPicture handles:
- serialization and deserialization
- unique IDs
Everything else is left to the subclasses:
- playback(), cullRect()
- hasBitmap(), hasText(), suitableForGPU(), etc.
- LayerInfo / AccelData if applicable.
The time to record a 1-op picture improves a good chunk
(2 mallocs to 1), and the time to record a 0-op picture
greatly improves (2 mallocs to none):
picture_overhead_draw: 450ns -> 350ns
picture_overhead_nodraw: 300ns -> 90ns
BUG=skia:
Review URL: https://codereview.chromium.org/1112523006
2015-05-07 13:41:07 -07:00
halcanary
96287f7af7
SkPDF: detect YUV-JPEG without relying on ImageGenerator
...
JPEG/JFIF References:
* http://www.w3.org/Graphics/JPEG/itu-t81.pdf
* http://www.w3.org/Graphics/JPEG/jfif3.pdf
BUG=476721
BUG=446940
Review URL: https://codereview.chromium.org/1133443003
2015-05-07 11:46:59 -07:00
joshualitt
3b58d75170
Initial CL to create Reorder command builder behind a flag
...
BUG=skia:
Review URL: https://codereview.chromium.org/1129943004
2015-05-07 11:14:30 -07:00
mtklein
44d43d8d6e
Add a control benchmark.
...
I'm thinking of using this in perf with something like:
ratio(fill(filter("test=foo")), fill(filter("test=control")))
Does that make sense to you?
Not sure that this is really a good control bench on all bots,
but I propose we just run it a bit and find out if it needs work.
BUG=skia:
Review URL: https://codereview.chromium.org/1129823003
2015-05-06 12:42:04 -07:00
robertphillips
84b008873b
Add GrAAConvexTessellator class
...
This CL adds a GrAAConvexTessellator class. It does not connect it to the GrAAConvexPathRenderer.
Review URL: https://codereview.chromium.org/1084943003
2015-05-06 05:15:57 -07:00
joshualitt
af242958a5
create GrInOrderCommandBuilder
...
BUG=skia:
Review URL: https://codereview.chromium.org/1118403003
2015-05-05 11:55:39 -07:00
joshualitt
ad17cfc8c7
Move RectBatch to GrRect
...
BUG=skia:
Review URL: https://codereview.chromium.org/1127713002
2015-05-05 10:45:57 -07:00
bsalomon
cb8979d088
Move DrawInfo out from GrDrawTarget and rename to GrVertices.
...
Review URL: https://codereview.chromium.org/1124733004
2015-05-05 09:51:38 -07:00
joshualitt
e46760e8b2
Create GrCommandBuilder
...
BUG=skia:
Review URL: https://codereview.chromium.org/1113313003
2015-05-05 08:41:50 -07:00
stephana
deee2980f4
cleanup
...
BUG=skia:
Review URL: https://codereview.chromium.org/1085583006
2015-05-05 07:55:06 -07:00
bsalomon
ed0bcad9c8
Move instanced index buffer creation to flush time
...
Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26
Review URL: https://codereview.chromium.org/1116943004
2015-05-04 10:36:43 -07:00
bsalomon
d8ed1b64a6
Revert of Move instanced index buffer creation to flush time (patchset #6 id:100001 of https://codereview.chromium.org/1116943004/ )
...
Reason for revert:
messed up caching, recreating index buffers all the time.
Original issue's description:
> Move instanced index buffer creation to flush time
>
> Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26
TBR=joshualitt@google.com ,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1126613003
2015-05-04 10:09:24 -07:00
reed
71a6cbfc58
remove redundant/deprecated TwoPointRadial gradiet -- use TwoPointConical
...
This CL derived from https://codereview.chromium.org/1114243005/
BUG=skia:
Review URL: https://codereview.chromium.org/1117423003
2015-05-04 08:32:51 -07:00
bsalomon
ab622c7b8c
Move instanced index buffer creation to flush time
...
Review URL: https://codereview.chromium.org/1116943004
2015-05-04 08:09:30 -07:00
halcanary
0b9d4118ba
SkTime: return timezone information; format in ISO-8601
...
Motivation: PDF/A metadata will need the creation date embedded in it.
Also, GetDateTime returns local time in Win32. This now behaves the
same as on Unix systems.
BUG=skia:3110
Review URL: https://codereview.chromium.org/1109593002
2015-05-01 07:06:23 -07:00
bsalomon
d309e7aa0e
This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types.
...
Review URL: https://codereview.chromium.org/1107973004
2015-04-30 14:18:54 -07:00
bungeman
3ffa126066
Move resource fonts to common location.
...
Move resource fonts to resources/fonts, add a destortable font for
testing, and clean up how the tests create fonts from resources.
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/1120823002
2015-04-30 17:12:58 -04:00
joshualitt
3f655f34a2
Initial CL to create GrBatchTest infrastructure
...
BUG=skia:
Review URL: https://codereview.chromium.org/1109153004
2015-04-29 10:01:22 -07:00
caryclark
aec2510125
minor fixes to cubics code and overall alignment of how bounds and tops are computed for all curve types
...
All but 17 extended tests work.
A helper function is privately added to SkPath.h to permit a test to modify a given point in a path.
BUG=skia:3588
Review URL: https://codereview.chromium.org/1107353004
2015-04-29 08:28:30 -07:00
reed
5b6db07fb5
SkRWBuffer for thread-safe 'stream' sharing
...
WIP
- Can accumulate (write) data in one thread, and share snapshots of it in other threads
... e.g. network accumulates image data, and periodically we want to decode/draw it
- If this sort of thing sticks, should we promote SkData to have the same generality as
SkRBuffer?
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1106113002
2015-04-28 17:50:32 -07:00
bsalomon
a73239a009
Remove GrFlushToGpuDrawTarget and move functionality up to GrDrawTarget.
...
Review URL: https://codereview.chromium.org/1117433002
2015-04-28 13:35:17 -07:00
joshualitt
4eaf9cef5a
create GrTestUtils.h, move some common functions into it
...
BUG=skia:
Review URL: https://codereview.chromium.org/1117443002
2015-04-28 13:31:18 -07:00
joshualitt
50cb76b2bb
Revert of removing equality / compute invariant loops from GrGeometryProcessors (patchset #2 id:20001 of https://codereview.chromium.org/1111603004/ )
...
Reason for revert:
breaks gl programs
Original issue's description:
> removing equality / compute invariant loops from GrGeometryProcessors
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ef292a0901205b9785a30daae2c036aa34a970ca
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1110993002
2015-04-28 09:17:05 -07:00
joshualitt
ef292a0901
removing equality / compute invariant loops from GrGeometryProcessors
...
BUG=skia:
Review URL: https://codereview.chromium.org/1111603004
2015-04-28 09:08:28 -07:00
robertphillips
7272935744
Add new GM/bench for line-only convex paths
...
BUG=472723
Review URL: https://codereview.chromium.org/1112603002
2015-04-28 07:42:04 -07:00
joshualitt
8f94bb2b25
remove old text contexts and fontcache
...
BUG=skia:
Review URL: https://codereview.chromium.org/1104343003
2015-04-28 07:04:11 -07:00
joshualitt
261c3ad7fd
Change to add zoom animations to nanobench
...
BUG=skia:
Review URL: https://codereview.chromium.org/1061323003
2015-04-27 09:16:57 -07:00
kkinnunen
1899651ffc
Extract gpu line dashing to GrDashLinePathRenderer
...
Move line dashing logic from GrContext::drawPath to
GrDashLinePathRenderer. This makes it possible to let path renderers render arbitrary dashed paths.
End goal is to implement dashing in GrStencilAndCoverPathRenderer.
Review URL: https://codereview.chromium.org/1100073003
2015-04-26 23:18:50 -07:00
bsalomon
87cbcf3f86
Add GM to test non-AA pixel snapping for points, lines, rects.
...
Review URL: https://codereview.chromium.org/1070213003
2015-04-22 08:51:38 -07:00
caryclark
1049f1246e
Now, path ops natively intersect conics, quads, and cubics in any combination. There are still a class of cubic tests that fail and a handful of undiagnosed failures from skps and fuzz tests, but things are much better overall.
...
Extended tests (150M+) run to completion in release in about 6 minutes; the standard test suite exceeds 100K and finishes in a few seconds on desktops.
TBR=reed
BUG=skia:3588
Review URL: https://codereview.chromium.org/1037953004
2015-04-20 08:31:59 -07:00
reed
7e4186acce
add GM to test imagefilters + xfermodes
...
draws incorrectly as is, but will be fixed by https://codereview.chromium.org/1091173003
BUG=skia:3741
Review URL: https://codereview.chromium.org/1088773004
2015-04-20 07:27:15 -07:00
mtklein
f3f9440372
Revert of Allow NEON on iOS. (patchset #3 id:40001 of https://codereview.chromium.org/1091823002/ )
...
Reason for revert:
need to coordinate this with chrome gyps/gn
Original issue's description:
> Allow NEON on iOS.
>
> I have nanobench building and running (Color32_arm_neon) on my iPad.
>
> No public API changes.
> TBR=reed@google.com
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e5043b7ea5170a639367b67c986568907576be4b
TBR=caryclark@google.com ,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1094843005
2015-04-17 14:02:40 -07:00
joshualitt
523ed6c0c1
adding new gm to rotate, translate, and scale textblobs
...
this is to test distance field caching and regen of texture blobs on scale.
BUG=skia:
Review URL: https://codereview.chromium.org/1097563002
2015-04-17 09:01:05 -07:00
mtklein
e5043b7ea5
Allow NEON on iOS.
...
I have nanobench building and running (Color32_arm_neon) on my iPad.
No public API changes.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1091823002
2015-04-17 06:36:53 -07:00
mtklein
4afe21e864
add a GM to demo the blend bug
...
BUG=skia:3739
Review URL: https://codereview.chromium.org/1094863003
2015-04-17 06:32:13 -07:00
reed
ca1a22ee53
Revert of Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/1060703003/ )
...
Reason for revert:
fix (removal from gypi/gn files) has landed in chrome.
Original issue's description:
> Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/1088383003/ )
>
> Reason for revert:
> This change is causing the DEPS roll to fail:
>
>
> http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio
>
> Original issue's description:
> > remove unused (by clients) SkPathUtils
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/aab35d91b8b80acd1902594bbf542083fdfa4bb7
>
> TBR=scroggo@google.com ,reed@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/bdb0bf5f8858043878d8a4fa8130c6c87bef3fd4
TBR=scroggo@google.com ,jcgregorio@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1091963002
2015-04-16 20:10:55 -07:00
mtklein
ea6075e3ea
Default iOS builds to our code signing identity.
...
It's super tedious to keep setting it every time I rerun ./gyp_skia.
Doesn't look like it'll bother the bots.
BUG=skia:
Review URL: https://codereview.chromium.org/1053493005
2015-04-16 13:29:59 -07:00
mtklein
a863e41d7f
This section is moot: we divert ios to opts_none above.
...
(We never set arm_version = 7 for iOS...)
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot
BUG=skia:
Review URL: https://codereview.chromium.org/1092753002
2015-04-16 12:45:38 -07:00
egdaniel
8dc7c3a839
Rename GrStencilBuffer to GrStencilAttachment
...
BUG=skia:
Review URL: https://codereview.chromium.org/1083133002
2015-04-16 11:22:42 -07:00
jcgregorio
bdb0bf5f88
Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/1088383003/ )
...
Reason for revert:
This change is causing the DEPS roll to fail:
http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio
Original issue's description:
> remove unused (by clients) SkPathUtils
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/aab35d91b8b80acd1902594bbf542083fdfa4bb7
TBR=scroggo@google.com ,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1060703003
2015-04-16 09:47:36 -07:00
bsalomon
8cf1d95487
Add GM that tests bmp filter qualities with repeat mode
...
TBR=reed@google.com
Review URL: https://codereview.chromium.org/1086203002
2015-04-16 06:54:28 -07:00
reed
aab35d91b8
remove unused (by clients) SkPathUtils
...
BUG=skia:
Review URL: https://codereview.chromium.org/1088383003
2015-04-16 06:16:38 -07:00
bsalomon
bed83a66f5
Don't draw if SkShader::asNewFragmentProcessor fails.
...
BUG=chromium:473156
Review URL: https://codereview.chromium.org/1089063002
2015-04-15 14:18:34 -07:00
msarett
e16b04aa60
SkJpegCodec
...
Enables basic decoding for jpegs
Includes rewinding
565, YUV, and Jpeg encoding are not yet implemented
BUG=skia:3257
Review URL: https://codereview.chromium.org/1076923002
2015-04-15 07:32:20 -07:00
joshualitt
9e36c1a930
Start canonicalizing color for all A8 textblobs
...
BUG=skia:
Review URL: https://codereview.chromium.org/1076593002
2015-04-14 12:17:27 -07:00
robertphillips
f5ac972207
Add GM to exercise high quality anisotropic scaling
...
High quality anisotropic is an interesting edge case for the gpu backend. For scales that are both minimizing and maximizing Ganesh falls back to MipMaps which can turn out too blurry.
BUG=472864
Review URL: https://codereview.chromium.org/1058133003
2015-04-14 08:19:01 -07:00
halcanary
86e5ab6338
GM: add fadefilter gm
...
BUG=470083
Review URL: https://codereview.chromium.org/1081173002
2015-04-14 06:25:19 -07:00
reed
51985e3f5e
setDrawFilter needs to trigger any deferred saves
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1077353002
2015-04-11 08:04:56 -07:00
mtklein
c5e0891029
Replace NEON assembly memset16 and memset32 with intrinsic versions.
...
According to bench/MemsetBench.cpp, I've got them somewhere between 10% slower
and a percent or two faster than the old assembly.
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot
Review URL: https://codereview.chromium.org/1075003002
2015-04-10 06:24:58 -07:00
joshualitt
d0b5c33fda
Adding draw looper gm for textblobs
...
BUG=skia:
Review URL: https://codereview.chromium.org/1067853002
2015-04-10 06:17:26 -07:00