Commit Graph

17335 Commits

Author SHA1 Message Date
bungeman
05773ed309 Font variations.
Multiple Master and TrueType fonts support variation axes.
This implements back-end support for axes on platforms which
support it.

Review URL: https://codereview.chromium.org/1027373002
2015-05-13 10:57:10 -07:00
robertphillips
c5f1c5414f Refactor GrBufferAllocPools to use resource cache
Review URL: https://codereview.chromium.org/1139753002
2015-05-13 10:55:33 -07:00
egdaniel
1bf714fb45 Revert of Revert of Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1138013004/)
Reason for revert:
still broken :(

Original issue's description:
> Revert of Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1135393003/)
>
> Reason for revert:
> trying once more
>
> Original issue's description:
> > Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1133543004/)
> >
> > Reason for revert:
> > breaks many qualcomm gms
> >
> > Original issue's description:
> > > Remove workaround to for lower glsl support for qualcomm
> > >
> > > BUG=skia:
> > >
> > > Committed: https://skia.googlesource.com/skia/+/9770bdce776f45367c419b8dd82219eece26ca5c
> >
> > TBR=bsalomon@google.com
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/0cfe1242ee284290bde1ebe3f48626c555fdac51
>
> TBR=bsalomon@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b72f920ef581e9cf50a6c1afc80ed04bb086488e

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1130413006
2015-05-13 10:32:49 -07:00
caryclark
38a017bf44 clean up tests
Confirm that no path ops tests are flaky, and clean up errors around
that. The test framework was incorrectly checking for >= MAX_ERRORS for
failure and <= MAX_ERRORS for success.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1140563003
2015-05-13 10:13:17 -07:00
bsalomon
8780bc65bd Remove GrGLVertexArray from GrGpuResource hierarchy.
Review URL: https://codereview.chromium.org/1137093002
2015-05-13 09:56:37 -07:00
bungeman
10b063cb91 Extensible Android font configuration parsing.
The xml parsing of the Android font configuration is quite lax in what
it allows. This has lead to issues with forward compatibility and
extending the existing format. This has lead to some confusion about
what the actual format is and how a given proposed change will affect
existing files and readers.

The main issue this fixes is containment. Tags are now only recognized
at the correct levels in the correct containing tags. Tags which are
not recognized are properly skipped. Tags which accumulate character
data now only accumulate the character data in their own element as
opposed to all child elements.

Review URL: https://codereview.chromium.org/1138073002
2015-05-13 08:52:16 -07:00
joshualitt
6c891107ce GLProgramsTest 3.0
BUG=skia:

Review URL: https://codereview.chromium.org/1139743002
2015-05-13 08:51:50 -07:00
egdaniel
b72f920ef5 Revert of Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1135393003/)
Reason for revert:
trying once more

Original issue's description:
> Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1133543004/)
>
> Reason for revert:
> breaks many qualcomm gms
>
> Original issue's description:
> > Remove workaround to for lower glsl support for qualcomm
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/9770bdce776f45367c419b8dd82219eece26ca5c
>
> TBR=bsalomon@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/0cfe1242ee284290bde1ebe3f48626c555fdac51

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1138013004
2015-05-13 08:46:51 -07:00
caryclark
bca19f7747 deal more consistently with unsortable edges
Improve line/curve coincident detection and resolution. This fixed the remaining simple failures.

When an edge is unsortable, use the ray intersection to determine the angles' winding.

Deal with degenerate segments.

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

Review URL: https://codereview.chromium.org/1140813002
2015-05-13 08:23:48 -07:00
mtklein
04d24a3f86 Turn on Sk4px xfermodes when we have NEON too.
For SSE, Sk4px is better than Sk4f is better than SkXfermodes_opts_SSE2 (where implemented).
For NEON, Sk4px is better than SkXfermodes_opts_arm_neon is better than Sk4f (where implemented).

This is a 1.6-1.9x speedup for Plus,Modulate, and Screen for NEON.

BUG=skia:

Review URL: https://codereview.chromium.org/1128053004
2015-05-13 08:02:14 -07:00
joshualitt
4c977868bb fix bounds for BW lines, AA Hairlines
BUG=skia:

Review URL: https://codereview.chromium.org/1123253003
2015-05-13 08:00:56 -07:00
jvanverth
28761fe4fb Fix assert in GrBatchAtlas.
Stops this assert from triggering on the iOS build.

Review URL: https://codereview.chromium.org/1131003004
2015-05-13 07:55:55 -07:00
reed
b56158118c simplify RawIter
BUG=skia:

Review URL: https://codereview.chromium.org/1137783006
2015-05-13 07:55:48 -07:00
egdaniel
0cfe1242ee Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1133543004/)
Reason for revert:
breaks many qualcomm gms

Original issue's description:
> Remove workaround to for lower glsl support for qualcomm
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9770bdce776f45367c419b8dd82219eece26ca5c

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1135393003
2015-05-13 07:21:17 -07:00
scroggo
c7d9616b1a Remove documentation for missing SkiaExamples.
SkiaExamples were removed in February, so no need to instruct newbies
to try building them.
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1135303002

Review URL: https://codereview.chromium.org/1135303002
2015-05-13 06:45:43 -07:00
halcanary
47b6c8b41b Documentation: open GM in SampleApp
NOTRY=true
DOCS_PREVIEW= https://skia.org/dev/testing/tests?cl=1138353002

Review URL: https://codereview.chromium.org/1138353002
2015-05-13 06:45:31 -07:00
egdaniel
9770bdce77 Remove workaround to for lower glsl support for qualcomm
BUG=skia:

Review URL: https://codereview.chromium.org/1133543004
2015-05-13 06:39:38 -07:00
borenet
0c3f58773e Document NO_MERGE_BUILDS keyword
BUG=skia:3584
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1135313004

Review URL: https://codereview.chromium.org/1135313004
2015-05-13 06:14:57 -07:00
kkinnunen
8f827fe44a Fix SkStrokeRec == to report true for all fills
Fix SkStrokeRec == to report true for all fills, regardless
of the stale stroking data the object might contain.

Review URL: https://codereview.chromium.org/1130153002
2015-05-13 00:02:26 -07:00
mtklein
6cbf18c70b Plus xfermode using Sk4px.
Xfermode_Plus runs 4-5x faster.

We expect mixed_xfermodes to have a small diff.  This is because kFoldCoverageIntoSrcAlpha was incorrectly set to true.

This implementation handily beats the Sk4f impl, the portable impl, and the existing SSE2 impl.  Reading the SkXfermodes_opts_SSE2.cpp file, I'm pretty confident that we'll be able to beat all SSE2 impls.

I believe this impl will beat or match the existing NEON impl too, but that may not be true for more complicated xfermodes.  They can take advantage of transposing ARGBARGB... to AAAARRRR.... cheaply and I haven't figured out an abstraction for that yet that doesn't screw SSE.

Adds:
  - MapDstSrc() to Sk4px
  - saturatedAdd() to SkNi (only implemented as far as it's used).
  - div255Narrow()

BUG=skia:

Review URL: https://codereview.chromium.org/1138893002
2015-05-12 15:48:09 -07:00
egdaniel
8c9b6f1d71 Add check in GrGpu createTexture to make sure we don't create multisampled textures.
BUG=skia:

Review URL: https://codereview.chromium.org/1138223003
2015-05-12 13:36:30 -07:00
jshin
dd4e56849e Make Noto Sans Mono CJK JP an alias to MS Gothic
This CL works together with the following CrOS CL:

https://chromium-review.googlesource.com/#/c/269899/

BUG=chromium:486164
TEST=With the above CrOS CL, 'MS Gothic' in CSS is replaced by 'Noto Sans Mono CJK JP'.

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

Committed: https://skia.googlesource.com/skia/+/55661337667a8305ebb100e36af23d34c2fb83ba

Review URL: https://codereview.chromium.org/1128903008
2015-05-12 12:03:50 -07:00
egdaniel
cc25297364 Fix valgrind bug in Porter Duff LCD.
BUG=skia:

Review URL: https://codereview.chromium.org/1135283002
2015-05-12 12:03:28 -07:00
reed
d9950091ef PerGlyphInfo is on SkTypeface
BUG=skia:
NOTRY=True
NOTREECHECKS=True
TBR=

Review URL: https://codereview.chromium.org/1128023004
2015-05-12 10:49:15 -07:00
reed
80ea19ca4b Revert of Revert of stop calling SkScalarDiv (patchset #1 id:1 of https://codereview.chromium.org/1138263002/)
Reason for revert:
android patched, blink has rolled

Original issue's description:
> Revert of stop calling SkScalarDiv (patchset #4 id:60001 of https://codereview.chromium.org/1135053002/)
>
> Reason for revert:
> need to wait for Blink roll (and patch android)
>
> Original issue's description:
> > stop calling SkScalarDiv
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/67d71c898249a7af3523b16c6a69895a63bfae0a
>
> TBR=
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2629697933b5cc975e45d2a45c48f803fc6cbcec

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1135693003
2015-05-12 10:37:34 -07:00
reed
1ebf0d2edc fix reference to _PerGlyphInfo
BUG=skia:
TBR=bungeman@google.com
NOTRY=True
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/1136283004
2015-05-12 10:35:48 -07:00
reed
b1207e8164 opt into SkScalarDiv until we can fix android call-sites
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/1138273002
2015-05-12 10:28:58 -07:00
reed
2629697933 Revert of stop calling SkScalarDiv (patchset #4 id:60001 of https://codereview.chromium.org/1135053002/)
Reason for revert:
need to wait for Blink roll (and patch android)

Original issue's description:
> stop calling SkScalarDiv
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/67d71c898249a7af3523b16c6a69895a63bfae0a

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1138263002
2015-05-12 10:28:06 -07:00
reed
39a9a5069b Make SkAdvancedTypefaceMetrics private.
Review URL: https://codereview.chromium.org/1129283003
2015-05-12 09:50:04 -07:00
reed
67d71c8982 stop calling SkScalarDiv
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1135053002
2015-05-12 09:47:22 -07:00
caryclark
7da2e55ccb quickie tool to exercise chrome filter fuzz files
This is a quick Skia transcription of the Chromium tool at
src/skia/tools/filter_fuzz_stub.cc
to read and decode filters captured as .fil files.

R=joshualitt@google.com,mtklein@google.com,reed@google.com,robertphillips@google.com
BUG=487213

Review URL: https://codereview.chromium.org/1126423005
2015-05-12 08:36:48 -07:00
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