Commit Graph

17303 Commits

Author SHA1 Message Date
joshualitt
ee71044d4b Revert of add option to supress prints on context (patchset #5 id:80001 of https://codereview.chromium.org/1128903008/)
Reason for revert:
breaks windows rollbots

Original issue's description:
> add option to supress prints on context
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/55661337667a8305ebb100e36af23d34c2fb83ba

TBR=bsalomon@google.com,robertphillips@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1125193006
2015-05-12 08:33:36 -07:00
joshualitt
5566133766 add option to supress prints on context
BUG=skia:

Review URL: https://codereview.chromium.org/1128903008
2015-05-12 07:00:57 -07:00
egdaniel
0d5fd110e0 Make Porter Duff LCD XP its own XferProcessor
BUG=skia:

Review URL: https://codereview.chromium.org/1134093003
2015-05-12 06:11:35 -07:00
mtklein
d2ffd36eb6 Sk4px
Xfermode_SrcOver:
   SSE: 2.08ms -> 2.03ms  (~2% faster)
   NEON: my N5 is noisy, but there appears to be no perf change

BUG=skia:

Review URL: https://codereview.chromium.org/1132273004
2015-05-12 06:11:21 -07:00
tfarina
06f3647cad Remove quickstart docs.
It is now obsolete by skia.org. All the relevant doc is hosted there
now.

BUG=None
R=mtklein@google.com

Review URL: https://codereview.chromium.org/1138833005
2015-05-11 18:19:52 -07:00
joshualitt
1107e901c9 Fix blur on large glyphs in runs < SkGlyphCache::max
BUG=skia:

Review URL: https://codereview.chromium.org/1135113002
2015-05-11 14:52:12 -07:00
caryclark
c6325cde79 remove near one check for arcs
Small arcs are pinned by SkSinCos and do not need to be additionally
pinned by SkConic::BuildUnitArc.

R=reed@google.com, djsollen@google.com

Review URL: https://codereview.chromium.org/1133113003
2015-05-11 14:36:33 -07:00
joshualitt
e4cee1f283 fix for cached textblobs look garbled
BUG=skia:

Review URL: https://codereview.chromium.org/1135813007
2015-05-11 13:04:28 -07:00
bsalomon
0e9ac4a28b Add virtual destructor for GrDrawTargetCaps
TBR=jvanverth@google.com

Review URL: https://codereview.chromium.org/1134043004
2015-05-11 11:26:23 -07:00
cdalton
321177052b Add assignment op to enum bitfield ops
BUG=skia:

Review URL: https://codereview.chromium.org/1139513002
2015-05-11 11:21:23 -07:00
bsalomon
f7cc87719e Add function for logging blend info on XP.
Review URL: https://codereview.chromium.org/1132373003
2015-05-11 11:21:14 -07:00
joshualitt
8e5c177c85 convex path renderer unit tests
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1134753002
2015-05-11 08:58:52 -07:00
joshualitt
79dfb2b6b6 Add unit tests to text context
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1128153005
2015-05-11 08:58:08 -07:00
joshualitt
e590266294 Add unit tests for stroke rects and drawVertices
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1133613004
2015-05-11 08:18:35 -07:00
joshualitt
21279c7ada AADistanceFieldPathRenderer unit tests
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1129083005
2015-05-11 07:21:37 -07:00
caryclark
624637cc8e Path ops formerly found the topmost unprocessed edge and determined its angle sort order to initialize the winding. This never worked correctly with cubics and was flaky with paths consisting mostly of vertical edges.
This replacement shoots axis-aligned rays through all intersecting edges to find the outermost one either horizontally or vertically. The resulting code is smaller and twice as fast.

To support this, most of the horizontal / vertical intersection code was rewritten and standardized, and old code supporting the top-directed winding was deleted.

Contours were pointed to by an SkTDArray. Instead, put them in a linked list, and designate the list head with its own class to ensure that methods that take lists of contours start at the top. This change removed a large percentage of memory allocations used by path ops.

TBR=reed@google.com
BUG=skia:3588

Review URL: https://codereview.chromium.org/1111333002
2015-05-11 07:21:28 -07:00
joshualitt
af2d56d213 print on unused uniforms in debug builds
BUG=skia:

Review URL: https://codereview.chromium.org/1136803002
2015-05-11 06:21:34 -07:00
Derek Sollenberger
7c722197b3 Add android_launch_app script to allow command line options to be passed to the sampleApp when starting.
BUG=skia:3815
DOCS_PREVIEW= https://skia.org/?cl=1136753003
R=bungeman@google.com, tomhudson@google.com

Review URL: https://codereview.chromium.org/1136753003
2015-05-11 08:54:19 -04:00
gen.kim
88f12dbe92 SkPictureShader: floor scaledSize not to exceed maxTextureSize
scaledSize becomes larger than maxTextureSize by zoom level
because it is rounded.

BUG=chromium:485916

Review URL: https://codereview.chromium.org/1129413002
2015-05-10 18:33:29 -07:00
egdaniel
c19cdc254c Only discard for XP dstCopies if we have a coverage value.
TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1125283005
2015-05-10 08:45:18 -07:00
skia.buildbots
ffb3f6817d Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/1123233004
2015-05-10 01:14:36 -07:00
egdaniel
28eee1aa2e Disable advance blend equations.
This is a temporary disabling of advanced blend equations till we can fix
the various bugs associated with it.

BUG=skia:3822

Review URL: https://codereview.chromium.org/1130003003
2015-05-08 14:42:44 -07:00
egdaniel
7dfc27ca42 Remove coverage multiplies when it is known to be fully opaque.
BUG=skia:

Review URL: https://codereview.chromium.org/1132883002
2015-05-08 12:48:35 -07:00
fmalita
f36cca8a61 Remove unused SK_SUPPORT_LEGACY_ROUND_MIPMAP_LEVEL_CHOICE guard
R=reed@google.com,robertphillips@google.com

Review URL: https://codereview.chromium.org/1135823003
2015-05-08 11:40:41 -07:00
halcanary
60a0c6292f whitespace change (testing flaky bots)
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/1132043004
2015-05-08 11:39:26 -07:00
halcanary
fb29947884 whitespace change
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/1131053004
2015-05-08 10:53:29 -07:00
bungeman
c0727d117e Trim whitespace from parsed filename in Android v21.
The entire text content of the 'font' element is currently used as the
file name. This wasn't an issue in earlier versions, as the 'file'
element was dedicated to only containing the file name. The new 'font'
element also contains a number of attributes and potentially other tags.
This means that a 'font' element can become quite long, making it
desireable to be able to split it across multiple lines.

However, splitting the 'font' element across multiple lines is currently
difficult and awkward as any whitespace outside of tags will be
considered part of the file name. This change means that any leading or
trailing whitespace will not be considered part of the file name.

This only applies to v21 and later files, so while this restricts font
file names from beginning and ending with whitespace, it is unlikely to
break any users in practice. It is probably also undesireable to have
font files with names that begin or end with whitespace in any event.

Review URL: https://codereview.chromium.org/1125413003
2015-05-08 08:31:54 -07:00
bsalomon
72c7a60ecf remove legacy Gr things
Review URL: https://codereview.chromium.org/1132813002
2015-05-08 07:17:05 -07:00
robertphillips
2a974625c5 Fix convex-lineonly-paths GM so it plays nice with SampleApp
Review URL: https://codereview.chromium.org/1131273002
2015-05-08 07:08:13 -07:00
robertphillips
e16dfdbead Enable GrAAConvexTessellator in GrAAConvexPathRenderer
This CL plumbs the GrAAConvexTessellator into the GrAAConvexPathRenderer but disables in Chrome & Android.

Review URL: https://codereview.chromium.org/1130883003
2015-05-08 04:46:51 -07:00
reed
b7ed856fad Revert of Sketch splitting SkPicture into an interface and SkBigPicture. (patchset #22 id:420001 of https://codereview.chromium.org/1112523006/)
Reason for revert:
speculative revert to fix failures in DEPS roll

Original issue's description:
> 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:
>
> Committed: https://skia.googlesource.com/skia/+/c92c129ff85b05a714bd1bf921c02d5e14651f8b

TBR=reed@google.com,robertphillips@google.com,mtklein@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1130333002
2015-05-07 17:30:13 -07:00
reed
8b26b99c97 new image from backend desc
BUG=485243

Review URL: https://codereview.chromium.org/1121813002
2015-05-07 15:36:18 -07:00
joshualitt
a2532d90cf adding rect batch unit test
BUG=skia:

Review URL: https://codereview.chromium.org/1135513002
2015-05-07 14:21:00 -07:00
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
joshualitt
2fbd4068bd tesselating path renderer unit tests
BUG=skia:

Review URL: https://codereview.chromium.org/1127183006
2015-05-07 13:06:42 -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
bsalomon
e64eb570a5 Iterate over instanced draws in GrGpu rather than above GrBatchTarget
Review URL: https://codereview.chromium.org/1127273007
2015-05-07 11:35:55 -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
fc00a7c501 SK_ARRAY_COUNT shouldn't work on pointers.
Simpler version of https://codereview.chromium.org/1123923002/

BUG=skia:3593
R=brucedawson@chromium.org,reed@google.com,tfarina@chromium.org

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1114283003
2015-05-07 10:58:44 -07:00
bungeman
4a8d622e1d Add default resourcePath to SampleApp on Android.
Currently SampleApp on Android cannot find resources. This sets the
resourcePath to /data/local/tmp/skia/resources/ which is the path
used in documentationo. A future change will allow this default to be
overridden.

BUG=skia:3815

Review URL: https://codereview.chromium.org/1125363004
2015-05-07 10:57:02 -07:00
mtklein
e44b5084d8 DM: use SkFunction to make required argument type clearer.
Previously it was hard to tell that DrawFn took an SkCanvas* and returned an Error.  Now it's clear from the type.

BUG=skia:

Review URL: https://codereview.chromium.org/1125233002
2015-05-07 10:53:34 -07:00
mtklein
4525f438a8 We don't use boxBlurY.
Also noticed nobody sets SK_DISABLE_BLUR_DIVISION_OPTIMIZATION.

BUG=skia:

Review URL: https://codereview.chromium.org/1134513003
2015-05-07 10:51:55 -07:00
mtklein
32618cb857 Test sp-8888 mode on a few fast bots.
(It's not particularly slow, but this mode doesn't really need global coverage.)

BUG=skia:

Review URL: https://codereview.chromium.org/1129903003
2015-05-07 10:26:44 -07:00
robertphillips
e40d397259 Isolate GrBufferAllocPools inside GrBatchTarget
This CL refactors the location of the GrBufferAllocPools so they reside entirely inside the GrBatchTarget. This is in preparation for making them use scratch resources.

Review URL: https://codereview.chromium.org/1131553002
2015-05-07 09:51:43 -07:00
joshualitt
0acd0d33fd adding uniqueID to GrContext
BUG=skia:

Review URL: https://codereview.chromium.org/1128873009
2015-05-07 08:23:19 -07:00
joshualitt
622d3aded2 Adding unit tests for limited subset of DefaultPathRenderer
BUG=skia:

Review URL: https://codereview.chromium.org/1129203002
2015-05-07 08:13:11 -07:00
cdalton
797e906c74 Re-enable validation for glBlendBarrierKHR and glBlendEquation
BUG=skia:

Review URL: https://codereview.chromium.org/1103673002
2015-05-06 13:53:12 -07:00
cdalton
8917d62ef4 Implement support for KHR_blend_equation_advanced
Uses KHR(or NV)_blend_equation_advanced to implement custom Xfer modes
in hardware.

BUG=skia:

Review URL: https://codereview.chromium.org/1037123003
2015-05-06 13:40:21 -07:00
mtklein
e0cab96599 Really use SSE4 (and SSSE3) in SkBlurImage_SSE4
We don't seem to be making good use of the available instruction set.
SSE4.1 gives us an easy way to unpack a pixel into an __m128i, and
SSSE3 gave us an easy way to do the reverse.

This should be bit-perfect and about a 10% speedup.

BUG=skia:

Review URL: https://codereview.chromium.org/1123263003
2015-05-06 13:22:02 -07:00
cdalton
0ce02c3ac1 Place nvpr above tesselating path renderer in the chain
BUG=skia:

Review URL: https://codereview.chromium.org/1123343003
2015-05-06 13:16:43 -07:00