add gm for lcd text and surfaceprops

BUG=skia:

Review URL: https://codereview.chromium.org/727543002
Deparameterize SkVarAlloc.

SkRecord performance is not sensitive to these values, so we can cut some
storage.  This rearranges the space-remaining logic to use a count of bytes
left rather than a pointer to the end, cutting memory usage a little more.

An SkVarAlloc used to weigh 20 or 32 bytes which now becomes 16 or 24.

I think if I think about it a bit more I can trim off that Block* too,
getting us to 12 or 16 bytes.

Because we now just always grow by doubling, this CL switches from storing
fSmallest to its log base 2.  This has the nice effect of never having to worry
about it overflowing, and means we can probably squeeze it down into a byte
if we want, even 6 bits.

BUG=skia:

Review URL: https://codereview.chromium.org/721313002
Add GrProcOptInfo class to track various output information for color and coverage stages.

BUG=skia:

Review URL: https://codereview.chromium.org/719203002
disable a couple of new fuzz378 tests on android

these tests fail on a nexus 9 in release only. It's probably related
to the fused multiply-add instruction

TBR=

Review URL: https://codereview.chromium.org/722303002
Cleanup GrContextFactory and make it's subclasses private

Review URL: https://codereview.chromium.org/723183002
Roll gyp.

Summary of changes available at:
https://chromium.googlesource.com/external/gyp/+log/3917682a16d5c19ff3576a8be0ffdb3a332954b1..f1c42f73e4cc2912460aab113f9cd31ee3fafd38

Review URL: https://codereview.chromium.org/724883002
Revert of Deparameterize SkVarAlloc. (patchset #6 id:100001 of https://codereview.chromium.org/721313002/)

Reason for revert:
Unit test failures on 32-bit machines.

test Record_Alignment: ../../tests/RecordTest.cpp:100	is_aligned(record.alloc<uint64_t>())

Original issue's description:
> Deparameterize SkVarAlloc.
>
> SkRecord performance is not sensitive to these values, so we can cut some
> storage.  This rearranges the space-remaining logic to use a count of bytes
> left rather than a pointer to the end, cutting memory usage a little more.
>
> An SkVarAlloc used to weigh 20 or 32 bytes which now becomes 16 or 24.
>
> I think if I think about it a bit more I can trim off that Block* too,
> getting us to 12 or 16 bytes.
>
> Because we now just always grow by doubling, this CL switches from storing
> fSmallest to its log base 2.  This has the nice effect of never having to worry
> about it overflowing, and means we can probably squeeze it down into a byte
> if we want, even 6 bits.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/bc415389855888af5a1282ca4b6bee30afa3d69d

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

Review URL: https://codereview.chromium.org/718203006
Disable GM:lcdtextprops on 565

The new GM is failing on 565/pipe. Disabling to get the tree green.

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

Review URL: https://codereview.chromium.org/722153004
Combine similar DrawPaths calls in GrInOrderDrawBuffer

Combines adjacent DrawPaths commands into one single call when a
conservative set of conditions are met. The end result is that whole
paragraphs can be drawn with a single call to
gliStencilThenCoverFillPathInstancedNV(), rather than one call for
each line.

BUG=skia:

Review URL: https://codereview.chromium.org/712223002
Fully disable lcdtextprops

R=reed@google.com
TBR=jcgregorio@google.com, reed@google.com

Review URL: https://codereview.chromium.org/723253002
rename filterTextFlags to disableLCD

Under the hood, add SkPixelGeometry to the CreateInfo for new devices, allowing them to see their geometry (SkDeviceProperties) up front, rather than having it changed later.

The only exception is for devices that are used on the root-layer, where we don't see the device until after the fact (at least as long as we allow clients to attach a device to a canvas externally).

We also filter the geometry when we're creating a layer, so we can disable LCD text automatically if the layer is not marked as opaque.

NOTRY=True
-- gammatext flake?

Review URL: https://codereview.chromium.org/719253002
Deparameterize SkVarAlloc.

SkRecord performance is not sensitive to these values, so we can cut some
storage.  This rearranges the space-remaining logic to use a count of bytes
left rather than a pointer to the end, cutting memory usage a little more.

An SkVarAlloc used to weigh 20 or 32 bytes which now becomes 16 or 24.

I think if I think about it a bit more I can trim off that Block* too,
getting us to 12 or 16 bytes.

Because we now just always grow by doubling, this CL switches from storing
fSmallest to its log base 2.  This has the nice effect of never having to worry
about it overflowing, and means we can probably squeeze it down into a byte
if we want, even 6 bits.

BUG=skia:

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

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot

Review URL: https://codereview.chromium.org/721313002
clean up dead code

BUG=skia:

Review URL: https://codereview.chromium.org/722113003
Cleanup public includes directory.

This CL updates various files in the includes directory to ensure that (1) they do
not depend on headers in /src and (2) that they minimize their dependence on external
headers.

To ensure that we don't regress this behavior a new build target has been added to
build a single cpp file that contains all* public includes and is compiled with
only those directories in the include path.

* The exception is those includes that depend on OS specific headers

BUG=skia:2941
NOTRY=true

Review URL: https://codereview.chromium.org/721903002
Unsuppress freetype, which may be our gammatext problem.

BUG=skia:

Review URL: https://codereview.chromium.org/721333003
Remove SK_IGNORE_SUBPIXEL_AXIS_ALIGN_FIX.

This define was added with "Always round text position correctly."
9447103029273a9f8dd7f5997e8af7a1e3ee7488 . The affected clients
have been rebaselined and this is no longer defined anywhere.

Review URL: https://codereview.chromium.org/722333002
Replace GrResourceCache with GrResourceCache2.

BUG=skia:2889

Review URL: https://codereview.chromium.org/716143004
Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 id:100001 of https://codereview.chromium.org/716143004/)

Reason for revert:
Breaking stuff

Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6

TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889

Review URL: https://codereview.chromium.org/715333003
Don't use /ZI on 64 bit windows

Review URL: https://codereview.chromium.org/728633002
Cap SkVarAlloc's desired block at 64K.

This means we can store fLgMinSize in 4 bits (TBD).

Local perf comparison calls this harmless-to-slightly-helpful.  Nothing to get
excited about, but seems to certainly not harm perf.

BUG=skia:

Review URL: https://codereview.chromium.org/722293003