platform/upstream/libSkiaSharp.git
9 years agoLabels when dumping fonts in Android parser test.
bungeman [Sat, 14 Feb 2015 02:30:11 +0000 (18:30 -0800)]
Labels when dumping fonts in Android parser test.

When the FontConfigParserAndroid test runs, it optionally dumps the
configurations it creates for manual inspection. This is useful, but
since three different configurations exist, it can be difficult to tell
them apart. This simply prints a short header before each dump so that
the dump can be identified.

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

9 years agoMulti-string shaders
joshualitt [Sat, 14 Feb 2015 01:18:27 +0000 (17:18 -0800)]
Multi-string shaders

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/1c3c2d83364ee228e0751df0e1b9c161c0ba8c1e

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

9 years agoRevert of Multi-string shaders (patchset #4 id:60001 of https://codereview.chromium...
joshualitt [Sat, 14 Feb 2015 00:31:46 +0000 (16:31 -0800)]
Revert of Multi-string shaders (patchset #4 id:60001 of https://codereview.chromium.org/929503002/)

Reason for revert:
windows warnings

Original issue's description:
> Multi-string shaders
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1c3c2d83364ee228e0751df0e1b9c161c0ba8c1e

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

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

9 years agoMulti-string shaders
joshualitt [Sat, 14 Feb 2015 00:23:48 +0000 (16:23 -0800)]
Multi-string shaders

BUG=skia:

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

9 years agoC++11 Unit Test for RValue semantics.
halcanary [Fri, 13 Feb 2015 23:12:52 +0000 (15:12 -0800)]
C++11 Unit Test for RValue semantics.

Motivation:  test that these works on all possible bots and for all possible clients (clients do run these unit tests, right?)

Dear clients:  if this unit test fails, let us know!

BUG=skia:3427

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

9 years agoDM: don't leak the null canvas in NullSink.
mtklein [Fri, 13 Feb 2015 23:11:10 +0000 (15:11 -0800)]
DM: don't leak the null canvas in NullSink.

Also make NullSink a real boy: declared among the other Sinks, impl in .cpp.

BUG=skia:

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

9 years agofix more tricky-float cases in SkRRect validate
reed [Fri, 13 Feb 2015 22:33:02 +0000 (14:33 -0800)]
fix more tricky-float cases in SkRRect validate

BUG=458524,458522

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

9 years agoAA stroke rects batch
joshualitt [Fri, 13 Feb 2015 22:25:10 +0000 (14:25 -0800)]
AA stroke rects batch

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/68c7b6aa98816badbbb69ef65a84a932b8dd58f3

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

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

9 years agoSplit out methods in GrGpuResource::CacheAccess that can be called outside of the...
bsalomon [Fri, 13 Feb 2015 22:20:05 +0000 (14:20 -0800)]
Split out methods in GrGpuResource::CacheAccess that can be called outside of the cache.

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

9 years agoYUV scale fix
sugoi [Fri, 13 Feb 2015 21:57:09 +0000 (13:57 -0800)]
YUV scale fix

There was a scaling mistake visible in some JPEG images because the ratio between Y, U and V planes were assumed to be the same ratios as the ratio between texture sizes, which was wrong because texture have a minimum size of 16 and are rounded up to the next POT. Since the ratios between Y and UV planes are generally 1, 2 or 4, rounding up to the next POT would generally preserve this ratio, so that this bug was not very visible, apart from very small jpeg images of 8 or less pixels in either width or height.

BUG=457954

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

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

9 years agoStop lieing about GrBatch color for Rects
joshualitt [Fri, 13 Feb 2015 20:50:09 +0000 (12:50 -0800)]
Stop lieing about GrBatch color for Rects

BUG=skia:

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

9 years agoFix conversion from enum to bool error.
scroggo [Fri, 13 Feb 2015 20:45:52 +0000 (12:45 -0800)]
Fix conversion from enum to bool error.

Needed for the DEPS roll.

TBR=jvanverth@google.com

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoDetermine whether we can tweakAlphaForCoverage during Pipeline/XP creation.
egdaniel [Fri, 13 Feb 2015 20:11:00 +0000 (12:11 -0800)]
Determine whether we can tweakAlphaForCoverage during Pipeline/XP creation.

BUG=skia:

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

9 years agoRevert of YUV scale fix (patchset #2 id:20001 of https://codereview.chromium.org...
jvanverth [Fri, 13 Feb 2015 20:02:22 +0000 (12:02 -0800)]
Revert of YUV scale fix (patchset #2 id:20001 of https://codereview.chromium.org/922273002/)

Reason for revert:
Turning Windows compile bots red.

Original issue's description:
> YUV scale fix
>
> There was a scaling mistake visible in some JPEG images because the ratio between Y, U and V planes were assumed to be the same ratios as the ratio between texture sizes, which was wrong because texture have a minimum size of 16 and are rounded up to the next POT. Since the ratios between Y and UV planes are generally 1, 2 or 4, rounding up to the next POT would generally preserve this ratio, so that this bug was not very visible, apart from very small jpeg images of 8 or less pixels in either width or height.
>
> BUG=457954
>
> Committed: https://skia.googlesource.com/skia/+/e6eddf7dd85add7da41f22f2643bdd573ad1f1cf

TBR=bsalomon@google.com,sugoi@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=457954

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

9 years agoFontFamily SkTArrays can be moved.
bungeman [Fri, 13 Feb 2015 19:49:07 +0000 (11:49 -0800)]
FontFamily SkTArrays can be moved.

The FontFamily type in SkFontConfigParser_android.h contains two fields
of type SkTArray. Both of these contain types which can be moved
instead of calling constructors and destructors on resize. This change
avoids a number of unneeded SkString refs and unrefs.

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

9 years agoYUV scale fix
sugoi [Fri, 13 Feb 2015 19:47:11 +0000 (11:47 -0800)]
YUV scale fix

There was a scaling mistake visible in some JPEG images because the ratio between Y, U and V planes were assumed to be the same ratios as the ratio between texture sizes, which was wrong because texture have a minimum size of 16 and are rounded up to the next POT. Since the ratios between Y and UV planes are generally 1, 2 or 4, rounding up to the next POT would generally preserve this ratio, so that this bug was not very visible, apart from very small jpeg images of 8 or less pixels in either width or height.

BUG=457954

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

9 years agoMake SkImageGenerator::getPixels() return an enum.
scroggo [Fri, 13 Feb 2015 19:13:34 +0000 (11:13 -0800)]
Make SkImageGenerator::getPixels() return an enum.

The new enum describes the nature of the failure. This is in
preparation for writing a replacement for SkImageDecoder, which will
use this interface.

Update the comments for getPixels() to specify what it means to pass
an SkImageInfo with a different size.

Make SkImageGenerator Noncopyable.

Leave onGetYUV8Planes alone, since we have separate discussions
regarding modifying that API.

Make callers of SkImageDecoder consistently handle kPartialSuccess.
Previously, some callers considered it a failure, and others considered
it a success.

BUG=skia:3257

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

9 years agoRemove SkPictureFlat.h include from SkDrawCommands.h
robertphillips [Fri, 13 Feb 2015 19:13:00 +0000 (11:13 -0800)]
Remove SkPictureFlat.h include from SkDrawCommands.h

This cannot land until https://codereview.chromium.org/909353004/ (Prepare SkiaBenchmarkingExtensionTest for upcoming Skia changes) lands in Chromium

Committed: https://skia.googlesource.com/skia/+/5a4c233a3657d12d836de388b41e30405b4ab976

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

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

9 years agoAdd a templated priority queue class.
bsalomon [Fri, 13 Feb 2015 19:08:21 +0000 (11:08 -0800)]
Add a templated priority queue class.

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

9 years agoRevert of Use dst copies in porter duffer XP to correctly render certain blends....
egdaniel [Fri, 13 Feb 2015 19:07:54 +0000 (11:07 -0800)]
Revert of Use dst copies in porter duffer XP to correctly render certain blends. (patchset #4 id:60001 of https://codereview.chromium.org/914003003/)

Reason for revert:
Failing GLProgramTest passing in stupid coeffs

Original issue's description:
> Use dst copies in porter duffer XP to correctly render certain blends.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/997c6358d94e188b1a7b89a4f86e24cbe0f5a164

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

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

9 years agoUse dst copies in porter duffer XP to correctly render certain blends.
egdaniel [Fri, 13 Feb 2015 18:23:19 +0000 (10:23 -0800)]
Use dst copies in porter duffer XP to correctly render certain blends.

BUG=skia:

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

9 years agoFix leak in ComposedImageFilterOffset test
ajuma [Fri, 13 Feb 2015 18:15:46 +0000 (10:15 -0800)]
Fix leak in ComposedImageFilterOffset test

This fixes a leak in the ComposedImageFilterOffset test that was
introduced in https://codereview.chromium.org/908273002/.

BUG=chromium:453924

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

9 years agoFix SkComposeImageFilter's bounds computation and offset handling
ajuma [Fri, 13 Feb 2015 17:05:47 +0000 (09:05 -0800)]
Fix SkComposeImageFilter's bounds computation and offset handling

This makes SkComposeImageFilter::computeFastBounds compose its
filters' bounds (rather than falling back to
SkImageFilter::computeFastBounds, which takes the union of the bounds).

This also makes SkComposeImageFilter::onFilterImage correctly handle
an offset produced when applying the inner filter; such offsets were
previously ignored.

BUG=chromium:453924

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

9 years agoAdding new benchmark to test image decoding performance.
msarett [Fri, 13 Feb 2015 17:05:41 +0000 (09:05 -0800)]
Adding new benchmark to test image decoding performance.

BUG=skia:

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

9 years agoLimit clear as draw workaround to Adreno 3xx.
bsalomon [Fri, 13 Feb 2015 17:00:39 +0000 (09:00 -0800)]
Limit clear as draw workaround to Adreno 3xx.

This causes more problems than it fixes on the Nexus 6.

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

9 years agoPass in ProcOptInfos into willNeedDstCopy on XPs
egdaniel [Fri, 13 Feb 2015 17:00:33 +0000 (09:00 -0800)]
Pass in ProcOptInfos into willNeedDstCopy on XPs

BUG=skia:

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

9 years ago[SkSVGDevice] Full font family support
fmalita [Fri, 13 Feb 2015 16:55:24 +0000 (08:55 -0800)]
[SkSVGDevice] Full font family support

Use a family name iterator and list all names instead of just one
returned by SkTypeface::getFamilyName().

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

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

9 years agoVerify all parsed test font files start with cap.
bungeman [Fri, 13 Feb 2015 16:55:16 +0000 (08:55 -0800)]
Verify all parsed test font files start with cap.

All of the Android test font configuration files have file names which
start with a capital latin letter. Verify this is true of the parsed file
names. This would have caught previous issues with slicing, and will
hopefully prevent such issues going unnoticed in the future.

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

9 years agointerpret conic tolerance correctly -- big rebaseline
reed [Fri, 13 Feb 2015 01:56:21 +0000 (17:56 -0800)]
interpret conic tolerance correctly -- big rebaseline

need this to land in chrome
https://codereview.chromium.org/918233002/

NOTREECHECKS=True

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

9 years agoMinimize SkTHash object copying
fmalita [Fri, 13 Feb 2015 01:32:49 +0000 (17:32 -0800)]
Minimize SkTHash object copying

AKA ref-constify the world.

R=mtklein@google.com

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

9 years agoRevert of I cannot remember what the race here actually was. (patchset #1 id:1 of...
mtklein [Thu, 12 Feb 2015 23:32:07 +0000 (15:32 -0800)]
Revert of I cannot remember what the race here actually was. (patchset #1 id:1 of https://codereview.chromium.org/922873002/)

Reason for revert:
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN/builds/1557/steps/dm/logs/stdio

Original issue's description:
> I cannot remember what the race here actually was.
>
> Removing SkTRacy will show us, or perhaps show us we already fixed the race.
>
> BUG=chromium:437511
>
> No public API changes.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/71409c83e69b387b3c5d567197d0421c36baf68d

TBR=bungeman@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:437511

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

9 years agoI cannot remember what the race here actually was.
mtklein [Thu, 12 Feb 2015 23:24:51 +0000 (15:24 -0800)]
I cannot remember what the race here actually was.

Removing SkTRacy will show us, or perhaps show us we already fixed the race.

BUG=chromium:437511

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

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

9 years agoRevert of AA stroke rects batch (patchset #6 id:100001 of https://codereview.chromium...
joshualitt [Thu, 12 Feb 2015 23:03:49 +0000 (15:03 -0800)]
Revert of AA stroke rects batch (patchset #6 id:100001 of https://codereview.chromium.org/912483004/)

Reason for revert:
breaks in debug nanobench

Original issue's description:
> AA stroke rects batch
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/68c7b6aa98816badbbb69ef65a84a932b8dd58f3
>
> Committed: https://skia.googlesource.com/skia/+/b0fb935bd544b0c6f68c692c7e1ee40876184a1a

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

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

9 years agofix for uniform view matrix being uploaded but not used
joshualitt [Thu, 12 Feb 2015 22:48:42 +0000 (14:48 -0800)]
fix for uniform view matrix being uploaded but not used

As discussed, I'll follow this up by removing localmatrix/uniform view matrix from the base classe

BUG=skia:

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

9 years agoA simple change to move a bunch of stuff out of Gr*Geometry.h
joshualitt [Thu, 12 Feb 2015 22:20:52 +0000 (14:20 -0800)]
A simple change to move a bunch of stuff out of Gr*Geometry.h

BUG=skia:

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

9 years agoAA stroke rects batch
joshualitt [Thu, 12 Feb 2015 22:18:47 +0000 (14:18 -0800)]
AA stroke rects batch

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/68c7b6aa98816badbbb69ef65a84a932b8dd58f3

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

9 years ago[PDF] Fix shader fallback mapping when clipped
fmalita [Thu, 12 Feb 2015 21:56:50 +0000 (13:56 -0800)]
[PDF] Fix shader fallback mapping when clipped

The bounding box used for our pattern sizing is in device coordinates,
but SkPDFImageShader::Create() runs it through the inverse CTM to map
into shader space (with a notable effect of vertical flipping).

In order not to implode, the fallback shader path needs to compute its
adjustments in a consistent space.

BUG=skia:3398, chromium:454591, chromium:455052
R=halcanary@google.com

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

9 years agofix windows build
Mike Klein [Thu, 12 Feb 2015 21:41:57 +0000 (16:41 -0500)]
fix windows build

BUG=skia:

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

9 years agooptional res-scale parameter to getFillPath
reed [Thu, 12 Feb 2015 21:35:52 +0000 (13:35 -0800)]
optional res-scale parameter to getFillPath

BUG=skia:
NOTREECHECKS=True
TBR=

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

9 years agoRevert of Remove SkPictureFlat.h include from SkDrawCommands.h (patchset #3 id:40001...
robertphillips [Thu, 12 Feb 2015 21:29:15 +0000 (13:29 -0800)]
Revert of Remove SkPictureFlat.h include from SkDrawCommands.h (patchset #3 id:40001 of https://codereview.chromium.org/912403004/)

Reason for revert:
Erm - Chrome.

Original issue's description:
> Remove SkPictureFlat.h include from SkDrawCommands.h
>
> This cannot land until https://codereview.chromium.org/909353004/ (Prepare SkiaBenchmarkingExtensionTest for upcoming Skia changes) lands in Chromium
>
> Committed: https://skia.googlesource.com/skia/+/5a4c233a3657d12d836de388b41e30405b4ab976
>
> Committed: https://skia.googlesource.com/skia/+/fa3a83d0fe53907e618346d3f1c17a95da1a9d22

TBR=reed@google.com,fmalita@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoStop adding mssse3 & m32/m64 for Android framework.
scroggo [Thu, 12 Feb 2015 21:27:40 +0000 (13:27 -0800)]
Stop adding mssse3 & m32/m64 for Android framework.

BUG=skia:3423

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

9 years agoSpin off SkTHashTable, SkTHashMap, SkTHashSet
mtklein [Thu, 12 Feb 2015 21:20:08 +0000 (13:20 -0800)]
Spin off SkTHashTable, SkTHashMap, SkTHashSet

SkTHashTable is very similar to SkTDynamicHash, except it's generalized to support non-pointer value types.

It doesn't support remove(), just to keep things simple (it's not hard to add).
Instead of an iterator, it has foreach(), again, to keep things simple.

SkTHashMap<K,V> and SkTHashSet<T> build a friendlier experience on top of SkTHashTable.

BUG=skia:

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

9 years agoRevert of AA stroke rects batch (patchset #5 id:80001 of https://codereview.chromium...
joshualitt [Thu, 12 Feb 2015 21:02:57 +0000 (13:02 -0800)]
Revert of AA stroke rects batch (patchset #5 id:80001 of https://codereview.chromium.org/912483004/)

Reason for revert:
breaks windows

Original issue's description:
> AA stroke rects batch
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/68c7b6aa98816badbbb69ef65a84a932b8dd58f3

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

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

9 years agoRevert of fix for windows bot (patchset #1 id:1 of https://codereview.chromium.org...
joshualitt [Thu, 12 Feb 2015 21:01:52 +0000 (13:01 -0800)]
Revert of fix for windows bot (patchset #1 id:1 of https://codereview.chromium.org/917933005/)

Reason for revert:
breaks windows

Original issue's description:
> fix for windows bot
>
> TBR=
> NOTREECHECKS=True
> NOTRY=True
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c43a4d868ad93666daf35641e63c70534013a488

TBR=joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agofix for windows bot
joshualitt [Thu, 12 Feb 2015 20:57:53 +0000 (12:57 -0800)]
fix for windows bot

TBR=
NOTREECHECKS=True
NOTRY=True
BUG=skia:

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

9 years agoAA stroke rects batch
joshualitt [Thu, 12 Feb 2015 20:32:26 +0000 (12:32 -0800)]
AA stroke rects batch

BUG=skia:

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

9 years agoRemove SkPictureFlat.h include from SkDrawCommands.h
robertphillips [Thu, 12 Feb 2015 20:30:42 +0000 (12:30 -0800)]
Remove SkPictureFlat.h include from SkDrawCommands.h

This cannot land until https://codereview.chromium.org/909353004/ (Prepare SkiaBenchmarkingExtensionTest for upcoming Skia changes) lands in Chromium

Committed: https://skia.googlesource.com/skia/+/5a4c233a3657d12d836de388b41e30405b4ab976

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

9 years agoExpose SkPathRef::unique through SkPath.
djsollen [Thu, 12 Feb 2015 20:08:40 +0000 (12:08 -0800)]
Expose SkPathRef::unique through SkPath.

This allows for the removal of SkPath::mSourcePath on Android
as they now have a better indicator of whether or not the path
can be used again via the Java API.

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

9 years agoset skia_arch_type in nacl_make
mtklein [Thu, 12 Feb 2015 19:34:09 +0000 (11:34 -0800)]
set skia_arch_type in nacl_make

BUG=skia:

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

9 years agoDon't use m32 cflag for x86_64.
scroggo [Thu, 12 Feb 2015 18:48:25 +0000 (10:48 -0800)]
Don't use m32 cflag for x86_64.

When checking the skia_arch_type for "x86", instead of doing an
== compare, check if "x86" in skia_arch_type, so it will cover
both x86 and x86_64.

Except when we specifically want x86.

Set skia_arch_width based on "64" in skia_arch_type. No need to specify
in scripts.

In gyp_to_android.py, create a separate var_dict for x86_64.

BUG=skia:3419

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

9 years agoGenerated makefile now includes people to contact.
scroggo [Thu, 12 Feb 2015 16:20:40 +0000 (08:20 -0800)]
Generated makefile now includes people to contact.

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

9 years agoDM: document -r
mtklein [Thu, 12 Feb 2015 15:34:27 +0000 (07:34 -0800)]
DM: document -r

https://skia.org/dev/contrib/testing?cl=923543002

BUG=skia:

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

9 years agoMove SkOSFile::Iter impls into ports.
bungeman [Thu, 12 Feb 2015 15:18:27 +0000 (07:18 -0800)]
Move SkOSFile::Iter impls into ports.

This was one large ifdef in SkOSFile.cpp in utils.
This moves the code to existing ports files.

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

9 years agoAdd staging for Chromium
robertphillips [Thu, 12 Feb 2015 14:37:12 +0000 (06:37 -0800)]
Add staging for Chromium

This staging is needed to land https://codereview.chromium.org/912403004/ (Remove SkPictureFlat.h include from SkDrawCommands.h)

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

9 years agofix for xoom
joshualitt [Thu, 12 Feb 2015 01:36:30 +0000 (17:36 -0800)]
fix for xoom

TBR=
BUG=skia:

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

9 years agoMake null GL context use callback to make current
bsalomon [Wed, 11 Feb 2015 22:19:18 +0000 (14:19 -0800)]
Make null GL context use callback to make current

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

9 years agoGMs now use batch
joshualitt [Wed, 11 Feb 2015 21:45:50 +0000 (13:45 -0800)]
GMs now use batch

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/3f284d7758d7f35b59d93a22d126f7cd8423be44

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

9 years agoRevert of Fix Chromium build (patchset #2 id:20001 of https://codereview.chromium...
robertphillips [Wed, 11 Feb 2015 21:18:14 +0000 (13:18 -0800)]
Revert of Fix Chromium build (patchset #2 id:20001 of https://codereview.chromium.org/916763003/)

Reason for revert:
Chrome

Original issue's description:
> Fix Chromium build
>
> TBR=jvanverth@google.com
>
> Committed: https://skia.googlesource.com/skia/+/f5e89c8f685ac8a5c4d117e087b4111d613106db

TBR=jvanverth@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoRevert of Fix Chromium build (again) (patchset #2 id:20001 of https://codereview...
robertphillips [Wed, 11 Feb 2015 21:15:12 +0000 (13:15 -0800)]
Revert of Fix Chromium build (again) (patchset #2 id:20001 of https://codereview.chromium.org/916193002/)

Reason for revert:
Chrome

Original issue's description:
> Fix Chromium build (again)
>
> TBR=jvanverth@google.com
>
> Committed: https://skia.googlesource.com/skia/+/b48e08e03a7573c6917d9932a60af5822c009abd

TBR=jvanverth@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoRevert of Remove SkPictureFlat.h include from SkDrawCommands.h (patchset #2 id:20001...
robertphillips [Wed, 11 Feb 2015 21:07:12 +0000 (13:07 -0800)]
Revert of Remove SkPictureFlat.h include from SkDrawCommands.h (patchset #2 id:20001 of https://codereview.chromium.org/912403004/)

Reason for revert:
Chrome

Original issue's description:
> Remove SkPictureFlat.h include from SkDrawCommands.h
>
> Committed: https://skia.googlesource.com/skia/+/5a4c233a3657d12d836de388b41e30405b4ab976

TBR=reed@google.com,fmalita@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

9 years agoRevert of GMs now use batch (patchset #3 id:40001 of https://codereview.chromium...
joshualitt [Wed, 11 Feb 2015 21:03:15 +0000 (13:03 -0800)]
Revert of GMs now use batch (patchset #3 id:40001 of https://codereview.chromium.org/865313004/)

Reason for revert:
missing hairlines on gms

Original issue's description:
> GMs now use batch
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3f284d7758d7f35b59d93a22d126f7cd8423be44

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

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

9 years agoFix Chromium build (again)
robertphillips [Wed, 11 Feb 2015 20:52:08 +0000 (12:52 -0800)]
Fix Chromium build (again)

TBR=jvanverth@google.com

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

9 years agoAdd GrGLCreateNullInterface.cpp back to gyp, and put contents in namespace.
bsalomon [Wed, 11 Feb 2015 20:07:31 +0000 (12:07 -0800)]
Add GrGLCreateNullInterface.cpp back to gyp, and put contents in namespace.

TBR=robertphillips@google.com

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

9 years agoFix Chromium build
robertphillips [Wed, 11 Feb 2015 19:38:44 +0000 (11:38 -0800)]
Fix Chromium build

TBR=jvanverth@google.com

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

9 years agoGMs now use batch
joshualitt [Wed, 11 Feb 2015 19:34:58 +0000 (11:34 -0800)]
GMs now use batch

BUG=skia:

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

9 years agoremove goto in Distance field path renderer
joshualitt [Wed, 11 Feb 2015 19:33:38 +0000 (11:33 -0800)]
remove goto in Distance field path renderer

BUG=skia:

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

9 years agoSupport multiple null GL contexts on a thread.
bsalomon [Wed, 11 Feb 2015 19:11:11 +0000 (11:11 -0800)]
Support multiple null GL contexts on a thread.

This has the side effect of requiring SkNullGLContext to use the null GL interface.

It exposes SkNullGLContext and also removes null context support from SampleApp.

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

9 years agoRename GrResourceCache2->GrResourceCache
bsalomon [Wed, 11 Feb 2015 18:49:59 +0000 (10:49 -0800)]
Rename GrResourceCache2->GrResourceCache

TBR=robertphillips@google.com

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

9 years agoRemove SkPictureFlat.h include from SkDrawCommands.h
robertphillips [Wed, 11 Feb 2015 18:27:30 +0000 (10:27 -0800)]
Remove SkPictureFlat.h include from SkDrawCommands.h

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

9 years agoFix up a couple includes that are using <> instead of "".
mtklein [Wed, 11 Feb 2015 17:24:19 +0000 (09:24 -0800)]
Fix up a couple includes that are using <> instead of "".

BUG=skia:

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

9 years agoOvals batch
joshualitt [Wed, 11 Feb 2015 16:52:27 +0000 (08:52 -0800)]
Ovals batch

BUG=skia:

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

9 years agoFix append_fallback_font_families_for_locale.
bungeman [Wed, 11 Feb 2015 15:18:51 +0000 (07:18 -0800)]
Fix append_fallback_font_families_for_locale.

The language was being set to garbage, now set to part of the file name.
Add a test to ensure we continue to parse fallback directories correctly.

BUG=chromium:422180

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

9 years agoSmall change to use a GrGeometryProcessor for all BitmapText draw calls
joshualitt [Wed, 11 Feb 2015 14:56:30 +0000 (06:56 -0800)]
Small change to use a GrGeometryProcessor for all BitmapText draw calls

BUG=skia:

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

9 years agodebugger: Abandon context when Qt changes it without notice
kkinnunen [Wed, 11 Feb 2015 06:27:48 +0000 (22:27 -0800)]
debugger: Abandon context when Qt changes it without notice

Qt changes the context on many conditions. Abandon GrContext
in these cases.

Also call GrContext::resetContext during Qt GL paint callback,
the GL state may be touched by Qt.

Fixes the bug where changing between gpu and msaa would start
erroring in framebuffer binds, if the .skp had many layers.

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

9 years agoAdd tests for STArray swap
bsalomon [Wed, 11 Feb 2015 03:46:58 +0000 (19:46 -0800)]
Add tests for STArray swap

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

9 years agoRevert of GYP groudwork for half-float opts support. (patchset #1 id:1 of https:...
mtklein [Wed, 11 Feb 2015 02:18:18 +0000 (18:18 -0800)]
Revert of GYP groudwork for half-float opts support. (patchset #1 id:1 of https://codereview.chromium.org/915693002/)

Reason for revert:
Going to punt on 16-bit float support for now.  Can't figure out ARM 64.

Original issue's description:
> GYP groudwork for half-float opts support.
>
> This sets us up two new opts targets with the immediate goal of adding half-float (SkHalf.h) opts:
>   - opts_neon_fp16: uses hardware support on most ARM chips with NEON to do 4 conversions at a time;
>   - opts_avx: uses hardware support on Intel chips with AVX to do 8 conversions at a time.
>
> opts_avx will be a handy thing to have around later too, especially if we want to work with floats.
>
> This doesn't actually add any new source files to these libraries yet, so they're no-ops for now.
> I'll need to write a parallel change to Chrome's GN and GYPs before we can start adding sources.
>
> This also rolls GYP up to head, to get suppport for EnableEnhancedInstructionSet: '3' on Windows,
> which is how we turn on AVX there.  There's no Mac-specific flag, so we use OTHER_CPLUSPLUSFLAGS.
>
> BUG=skia:
>
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/46b80833394d7919cadf2abf2b93802141dd21c5

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

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

9 years agoRevert of add dummy avx file so xcode will build (patchset #1 id:1 of https://coderev...
mtklein [Wed, 11 Feb 2015 02:17:17 +0000 (18:17 -0800)]
Revert of add dummy avx file so xcode will build (patchset #1 id:1 of https://codereview.chromium.org/916563002/)

Reason for revert:
Going to punt on 16-bit float support for now.  Can't figure out ARM 64.

Original issue's description:
> add dummy avx file so xcode will build
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/a0921f2563701d54e4e022de99f2705f4ada8a6e

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

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

9 years agoadd gm for stroked circles that are zoomed
reed [Wed, 11 Feb 2015 01:44:26 +0000 (17:44 -0800)]
add gm for stroked circles that are zoomed

BUG=skia:
TBR=

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

9 years agocheck for inverted rects before we quick-reject
reed [Tue, 10 Feb 2015 22:18:09 +0000 (14:18 -0800)]
check for inverted rects before we quick-reject

BUG=skia:

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

9 years agoSimplify SkBBH::insert API
mtklein [Tue, 10 Feb 2015 21:44:27 +0000 (13:44 -0800)]
Simplify SkBBH::insert API

No one's exploiting the ability to take ownership of the array anymore.

BUG=skia:

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

9 years agoadd dummy avx file so xcode will build
reed [Tue, 10 Feb 2015 21:39:15 +0000 (13:39 -0800)]
add dummy avx file so xcode will build

BUG=skia:

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

9 years agoSimplify reference management in SkPDF
halcanary [Tue, 10 Feb 2015 21:32:09 +0000 (13:32 -0800)]
Simplify reference management in SkPDF

Prior to this change, SkPDFObject subclasses were required
to track their resources separately from the document
structure.  (An object has a resource if it depends, via an
indirect reference, on another object).  This led to a lot
of extra code to duplicate effort.  I replace the
getResources() function with the much simpler addResources()
function.  I only define a non-trivial addResources() method
on arrays, dictionaries, and indirect object references.
All other specialized classes simply rely on their parent
class's implementation.

SkPDFObject::addResources() works by recursively walking the
directed graph of object (direct and indirect) references
and adding resources to a set.  It doesn't matter that there
are closed loops in the graph, since we check the set before
walking down a branch.

-  Add SkPDFObject::addResources() virtual function, with
   four implementations
-  Remove SkPDFObject::getResources() virtual function and
   all implementations.
-  Remove SkPDFObject::GetResourcesHelper()
-  Remove SkPDFObject::AddResourceHelper()
-  In SkPDFCatalog::findObjectIndex(), add an object to the
   catalog if it doesn't exist yet.
-  SkPDFCatalog::setSubstitute() no longer sets up resources
-  SkPDFDocument.cpp no longer needs the Streamer object
-  SkPDFDocument.cpp calls fDocCatalog->addResources to build
   the resource list.
-  SkPDFFont::addResource() removed
-  All SkPDF-::fResource sets removed (they are redundant).
-  removed SkPDFImage::addSMask() function
-  SkPDFResourceDict::getReferencedResources() removed.

Motivation: this removes quite a bit of code and makes the
objects slightly slimmer in memory.  Most importantly, this
will lead the way towards removing SkPDFObject's inheritance
from SkRefCnt, which will greatly simplify everything.

Testing: I usually test changes to the PDF backend by
comparing checksums of PDF files rendered from GMs and SKPs
before and after the change.  This change both re-orders and
re-numbers the indirect PDF objects.  I used the qpdf
program to normalize the PDFs and then compared the
normalized outputs from before and after the change; they
matched.

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

9 years agoUpdate docs with instructions for debugging Android SampleApp.
djsollen [Tue, 10 Feb 2015 21:17:07 +0000 (13:17 -0800)]
Update docs with instructions for debugging Android SampleApp.

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

9 years agoSwitch font embedding to a compile-time flag, with a todo for runtime.
mtklein [Tue, 10 Feb 2015 19:48:55 +0000 (11:48 -0800)]
Switch font embedding to a compile-time flag, with a todo for runtime.

BUG=skia:3417

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

9 years agodiscard when coverage is <= 0 in XP dst copy.
joshualitt [Tue, 10 Feb 2015 18:06:15 +0000 (10:06 -0800)]
discard when coverage is <= 0 in XP dst copy.

Darken was 5-20% slower with this CL, though it might improve things a bit to only look at one component of the vector.

BUG=skia:

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

9 years agoAdd SSE optimization of Color32A_D565
henrik.smiding [Tue, 10 Feb 2015 17:42:33 +0000 (09:42 -0800)]
Add SSE optimization of Color32A_D565

Adds an SSE4.1 version of the Color32A_D565 function.

Performance improvement in the following benchmarks:
  Xfermode_SrcOver       - ~100%
  luma_colorfilter_large - ~150%
  luma_colorfilter_small - ~60%
  tablebench             - ~10%
  chart_bw               - ~10%
(Measured on a Atom Silvermont core)

Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
Review URL: https://codereview.chromium.org/892623002

9 years agoGYP groudwork for half-float opts support.
mtklein [Tue, 10 Feb 2015 17:17:05 +0000 (09:17 -0800)]
GYP groudwork for half-float opts support.

This sets us up two new opts targets with the immediate goal of adding half-float (SkHalf.h) opts:
  - opts_neon_fp16: uses hardware support on most ARM chips with NEON to do 4 conversions at a time;
  - opts_avx: uses hardware support on Intel chips with AVX to do 8 conversions at a time.

opts_avx will be a handy thing to have around later too, especially if we want to work with floats.

This doesn't actually add any new source files to these libraries yet, so they're no-ops for now.
I'll need to write a parallel change to Chrome's GN and GYPs before we can start adding sources.

This also rolls GYP up to head, to get suppport for EnableEnhancedInstructionSet: '3' on Windows,
which is how we turn on AVX there.  There's no Mac-specific flag, so we use OTHER_CPLUSPLUSFLAGS.

BUG=skia:

TBR=reed@google.com

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

9 years agocheck for nonfinites in rrects
reed [Tue, 10 Feb 2015 16:46:22 +0000 (08:46 -0800)]
check for nonfinites in rrects

BUG=457128

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

9 years agoUse conics for round joins and caps
reed [Tue, 10 Feb 2015 16:45:06 +0000 (08:45 -0800)]
Use conics for round joins and caps

patch from issue 909013004 at patchset 20001 (http://crrev.com/909013004#ps20001)

BUG=skia:
TBR=caryclark

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

9 years agoClean up clipping code a bit
robertphillips [Tue, 10 Feb 2015 16:16:55 +0000 (08:16 -0800)]
Clean up clipping code a bit

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

9 years agoOnly define SK_CRASH_HANDLER in crash_handler.
scroggo [Tue, 10 Feb 2015 16:13:26 +0000 (08:13 -0800)]
Only define SK_CRASH_HANDLER in crash_handler.

The macro is only used in CrashHandler.*

Removes SK_CRASH_HANDLER from Android's SkUserConfig, where it is not
needed.

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

9 years agoAdditional cleanups to Android config parsing.
bungeman [Tue, 10 Feb 2015 15:51:12 +0000 (07:51 -0800)]
Additional cleanups to Android config parsing.

Properly labels several methods as static.
Use XML_GetBuffer to avoid an extra copy.
Set the memory allocators to Skia's.
Set define in 'defines' instead of cflags.
Update debug dumper.

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

9 years agorewrite ambiguous comment
mtklein [Tue, 10 Feb 2015 15:47:31 +0000 (07:47 -0800)]
rewrite ambiguous comment

It took me a few reads, but it eventually swapped from bunny to duck.

BUG=skia:

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

9 years agoOnly instance-count in SK_DEVELOPER builds (our debug builds, not Chrome's)
mtklein [Tue, 10 Feb 2015 14:14:05 +0000 (06:14 -0800)]
Only instance-count in SK_DEVELOPER builds (our debug builds, not Chrome's)

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Tue, 10 Feb 2015 07:04:25 +0000 (23:04 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoPort SkLazyPtr to new SkAtomics.h
mtklein [Mon, 9 Feb 2015 22:47:06 +0000 (14:47 -0800)]
Port SkLazyPtr to new SkAtomics.h

No algorithmic changes.  The new APIs let us avoid a few ugly trips through void*,
and I've made the consume/acquire/release decision explicitly conditioned on TSAN.

This should fix the attached bug, which is TSAN seeing us implementing the
sk_consume_load() with a relaxed load, where we used to pass __ATOMIC_CONSUME
to TSAN.  This restores us to the status quo of a couple weeks ago, where we
use relaxed loads (to avoid an extra dmb on ARM) for all setups except TSAN,
who gets the logically correct memory order, consume.

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

BUG=chromium:455606

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

9 years agoSkAtomics: add asserts for valid memory orders.
mtklein [Mon, 9 Feb 2015 22:13:44 +0000 (14:13 -0800)]
SkAtomics: add asserts for valid memory orders.

Taken from http://en.cppreference.com/w/cpp/atomic/atomic and https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html, which agree.

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

BUG=skia:

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

9 years agouse conics for arcTo
reed [Mon, 9 Feb 2015 21:54:43 +0000 (13:54 -0800)]
use conics for arcTo

guarded by SK_SUPPORT_LEGACY_ARCTO_QUADS

BUG=skia:

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

9 years agoFixed array read error
sugoi [Mon, 9 Feb 2015 21:17:21 +0000 (13:17 -0800)]
Fixed array read error

In 32 bits, if the "element count" was under 32 bits, but "element count" * "element size" was over the 32 bit limit, the overflow was causing the read operation to appear as if it had succeded, even though it should have failed.

BUG=456828

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

9 years agomore gms for conics
reed [Mon, 9 Feb 2015 21:01:05 +0000 (13:01 -0800)]
more gms for conics

BUG=skia:
TBR=

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