platform/upstream/libSkiaSharp.git
10 years agoFix root level Android.mk to now point to the correct nanobench makefile
djsollen [Thu, 21 Aug 2014 20:12:34 +0000 (13:12 -0700)]
Fix root level Android.mk to now point to the correct nanobench makefile

R=mtklein@google.com

Author: djsollen@google.com

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

10 years agoSplit up monolithic EXPERIMENTAL_drawPicture method
robertphillips [Thu, 21 Aug 2014 20:07:35 +0000 (13:07 -0700)]
Split up monolithic EXPERIMENTAL_drawPicture method

This is prep for the new multi-picture API.

This is split out of (Add new API to allow layer hoisting/atlasing across picture piles - https://codereview.chromium.org/474623002/)

R=bsalomon@google.com

Author: robertphillips@google.com

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

10 years agoInstall a hook to swap between SkPicture backends with a single define.
mtklein [Thu, 21 Aug 2014 20:07:27 +0000 (13:07 -0700)]
Install a hook to swap between SkPicture backends with a single define.

BUG=skia:
R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoCleanup FDO options.
djsollen [Thu, 21 Aug 2014 20:02:27 +0000 (13:02 -0700)]
Cleanup FDO options.

R=tomhudson@google.com

Author: djsollen@google.com

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

10 years agoAdd GrResourceCache2.
bsalomon [Thu, 21 Aug 2014 20:02:13 +0000 (13:02 -0700)]
Add GrResourceCache2.

Currently it just replaces GrGpu as the owner of the linked list of resources.

Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f

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

Author: bsalomon@google.com

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

10 years agoupdate expectations for Nexus 10 Debug
caryclark [Thu, 21 Aug 2014 19:37:55 +0000 (12:37 -0700)]
update expectations for Nexus 10 Debug

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

Author: caryclark@google.com

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

10 years agoremember to init fOrigPos in legacy constructor
reed [Thu, 21 Aug 2014 19:32:40 +0000 (12:32 -0700)]
remember to init fOrigPos in legacy constructor

NOTREECHECKS=True
R=caryclark@google.com, mtklein@google.com

Author: reed@google.com

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

10 years agoDoes this fix things?
mtklein [Thu, 21 Aug 2014 18:52:36 +0000 (11:52 -0700)]
Does this fix things?

NOTREECHECKS=true
CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot
BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

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

10 years agouse globals to register custom effects
reed [Thu, 21 Aug 2014 17:53:34 +0000 (10:53 -0700)]
use globals to register custom effects

NOTREECHECKS=True
NOTRY=True
R=mtklein@google.com, caryclark@google.com, bungeman@google.com

Author: reed@google.com

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

10 years agorename gradients private BitmapCache to GradientBitmapCache
reed [Thu, 21 Aug 2014 17:50:25 +0000 (10:50 -0700)]
rename gradients private BitmapCache to GradientBitmapCache

R=caryclark@google.com
NOTREECHECKS=True

Author: reed@google.com

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

10 years agoexpose generalized imagecache key
reed [Thu, 21 Aug 2014 16:46:49 +0000 (09:46 -0700)]
expose generalized imagecache key

BUG=skia:
R=mtklein@google.com, halcanary@google.com, qiankun.miao@intel.com

Author: reed@google.com

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

10 years agoOur SkPicture::Analysis visitors should recurse into nested pictures.
mtklein [Thu, 21 Aug 2014 16:11:37 +0000 (09:11 -0700)]
Our SkPicture::Analysis visitors should recurse into nested pictures.

BUG=skia:
R=tomhudson@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

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

10 years agotemporary rebaseline on arm64
halcanary [Thu, 21 Aug 2014 16:03:50 +0000 (09:03 -0700)]
temporary rebaseline on arm64

Affects all blur tests.

BUG=skia:2845
NOTRY=true
R=caryclark@google.com

Author: halcanary@google.com

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

10 years agoSkTextBlob
fmalita [Thu, 21 Aug 2014 15:53:26 +0000 (08:53 -0700)]
SkTextBlob

Initial implementation.

R=bungeman@google.com, jbroman@chromium.org, mtklein@google.com, reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

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

10 years agoSimplify flattening to just write enough to call the factory/public-constructor for...
reed [Thu, 21 Aug 2014 14:59:51 +0000 (07:59 -0700)]
Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc).

Refactoring pattern:

1. guard the existing constructor(readbuffer) with the legacy build-flag
2. If you are a instancable subclass, implement CreateProc(readbuffer) to create a new instances from the buffer params (or return NULL).

If you're a shader subclass
1. You must read/write the local matrix if your class accepts that in its factory/constructor, else ignore it.

R=robertphillips@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org, sugoi@chromium.org

Author: reed@google.com

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

10 years agoupdate gm expectations for Nexus 10
caryclark [Thu, 21 Aug 2014 14:43:43 +0000 (07:43 -0700)]
update gm expectations for Nexus 10

the Android version was updated, introducing a new GPU driver

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

Author: caryclark@google.com

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

10 years agoTemporarily adjust Matrix.isSimilarity test tolerance on 64-bit ARM devices
djsollen [Thu, 21 Aug 2014 14:40:42 +0000 (07:40 -0700)]
Temporarily adjust Matrix.isSimilarity test tolerance on 64-bit ARM devices

BUG=skia:2405
R=halcanary@google.com, jvanverth@google.com, reed@google.com

Author: djsollen@google.com

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

10 years agoUpdate FDO options to match what is needed by the framework
djsollen [Thu, 21 Aug 2014 14:38:31 +0000 (07:38 -0700)]
Update FDO options to match what is needed by the framework

R=tomhudson@google.com

Author: djsollen@google.com

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

10 years agoRemove unecessary check from android framework build
djsollen [Thu, 21 Aug 2014 14:33:40 +0000 (07:33 -0700)]
Remove unecessary check from android framework build

R=bungeman@google.com, raph@google.com

Author: djsollen@google.com

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

10 years agoUse medium filtering when downscaling bitmap glyphs in FreeType host
djsollen [Thu, 21 Aug 2014 14:33:20 +0000 (07:33 -0700)]
Use medium filtering when downscaling bitmap glyphs in FreeType host

This enable Android to save space on emoji glyphs

R=bungeman@google.com, raph@google.com

Author: djsollen@google.com

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

10 years agoFix == operator in GrTextureDomain so we don't compair uninitilized values
egdaniel [Thu, 21 Aug 2014 13:47:50 +0000 (06:47 -0700)]
Fix == operator in GrTextureDomain so we don't compair uninitilized values

We were getting random behavior when comparing two GrTexureDomains since
fDomain was not initialized when the mode was set to ignore.

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

10 years agoMake SkPMColorAssert a macro (all assert-like functions should be macros).
halcanary [Thu, 21 Aug 2014 13:30:11 +0000 (06:30 -0700)]
Make SkPMColorAssert a macro (all assert-like functions should be macros).

R=reed@google.com

Author: halcanary@google.com

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

10 years agoRemove State struct from GrDrawState
egdaniel [Thu, 21 Aug 2014 13:27:22 +0000 (06:27 -0700)]
Remove State struct from GrDrawState

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

10 years agoremove code for (dead) SK_SUPPORT_LEGACY_GETCLIPTYPE
reed [Thu, 21 Aug 2014 12:51:22 +0000 (05:51 -0700)]
remove code for (dead) SK_SUPPORT_LEGACY_GETCLIPTYPE

BUG=skia:
R=djsollen@google.com

Author: reed@google.com

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

10 years agoUpdate SKP version to 79
borenet [Thu, 21 Aug 2014 04:20:35 +0000 (21:20 -0700)]
Update SKP version to 79

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

10 years agoRevert back to SkPictureData pictures. Huge perf regression.
mtklein [Wed, 20 Aug 2014 23:18:25 +0000 (16:18 -0700)]
Revert back to SkPictureData pictures.  Huge perf regression.

http://skiaperf.com/#108

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoAlways read .skp files and other serialized pictures into SkRecord.
mtklein [Wed, 20 Aug 2014 22:50:45 +0000 (15:50 -0700)]
Always read .skp files and other serialized pictures into SkRecord.

This should switch all our internal tools that aren't clever about it over to SkRecord pictures.  (The clever tools know what they're doing.)

Also, deletes the old SkPicture::clone() path.  return this or die.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/7b705bb17e09508e3761b54f59833b1ceb4ce9a6

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

Author: mtklein@chromium.org

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

10 years agoTurn off NEON SkBoxBlurGetPlatformProcs for ARM64 (for now)
halcanary [Wed, 20 Aug 2014 21:40:09 +0000 (14:40 -0700)]
Turn off NEON SkBoxBlurGetPlatformProcs for ARM64 (for now)

BUG=skia:2845
R=djsollen@google.com, senorblanco@google.com, senorblanco@chromium.org

Author: halcanary@google.com

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

10 years agoAlways read .skp files and other serialized pictures into SkRecord.
mtklein [Wed, 20 Aug 2014 21:22:58 +0000 (14:22 -0700)]
Always read .skp files and other serialized pictures into SkRecord.

This should switch all our internal tools that aren't clever about it over to SkRecord pictures.  (The clever tools know what they're doing.)

Also, deletes the old SkPicture::clone() path.  return this or die.

BUG=skia:
R=robertphillips@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

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

10 years agoignore flaky failure on android
caryclark [Wed, 20 Aug 2014 21:01:28 +0000 (14:01 -0700)]
ignore flaky failure on android

this failed to commit the first time

NOTREECHECKS=true
NOTRY=true
R=bsalomon@google.com
TBR=bsalomon

Author: caryclark@google.com

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

10 years agomake imagecache's Key more general purpose
reed [Wed, 20 Aug 2014 20:41:56 +0000 (13:41 -0700)]
make imagecache's Key more general purpose

This should allow other clients with different sized keys to still use the cache.

BUG=skia:
R=fmalita@google.com, mtklein@google.com

Author: reed@google.com

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

10 years agorebaseline_server: force checksumValue to an integer to prevent spurious comparison...
epoger [Wed, 20 Aug 2014 19:21:48 +0000 (12:21 -0700)]
rebaseline_server: force checksumValue to an integer to prevent spurious comparison failures

Without this change, SKP tests *appeared* to fail because the actuals reported
their checksumValues as integers, while the expectations recorded their
checksumValues as strings.

NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

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

10 years agoDirectly compute glyphToUnicode array in DirectWrite.
bungeman [Wed, 20 Aug 2014 19:21:32 +0000 (12:21 -0700)]
Directly compute glyphToUnicode array in DirectWrite.

This new code is still rather bad, but has fewer steps.

The motivation for looking at this is that on Windows 8 the previous code
was occasionally asserting in such a way as to imply that GetGlyphIndices
might return different data the second time through the font. This avoids
that particular issue by only going through the font once.

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

Author: bungeman@google.com

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

10 years agoadd headers to experimental SKP expectations
epoger [Wed, 20 Aug 2014 18:51:39 +0000 (11:51 -0700)]
add headers to experimental SKP expectations

NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

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

10 years agoAdd --properties for things like gitHash that describe the current nanobench run.
mtklein [Wed, 20 Aug 2014 18:45:00 +0000 (11:45 -0700)]
Add --properties for things like gitHash that describe the current nanobench run.

--key describes the type of run (describes the line on the chart), --properties
describes the run itself (describes the dot on the chart).

We'll pass --properties gitHash <git hash> build_number <build number>  --key
... to nanobench from the bots.

And... delete a whole lot of dead code.

Example: nanobench --properties gitHash foo build_number 1234 --key bar baz

{
   "build_number" : "1234",
   "gitHash" : "foo",
   "key" : {
      "bar" : "baz"
   },
   "results" : {
....

Friends with https://codereview.chromium.org/491943002
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agorebaseline_server: if creating brand new expectations files, include the header
epoger [Wed, 20 Aug 2014 18:39:34 +0000 (11:39 -0700)]
rebaseline_server: if creating brand new expectations files, include the header

Otherwise, the first time you compare against these expectations, you get
failures.

NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

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

10 years agoupdate experimental SKP expectations using the new tool
epoger [Wed, 20 Aug 2014 18:10:30 +0000 (11:10 -0700)]
update experimental SKP expectations using the new tool

BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

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

10 years agorebaseline_server: add download link for SKP diff patchfile
epoger [Wed, 20 Aug 2014 17:55:27 +0000 (10:55 -0700)]
rebaseline_server: add download link for SKP diff patchfile

BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

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

10 years agoDump out more information if this assert fails.
mtklein [Wed, 20 Aug 2014 16:44:28 +0000 (09:44 -0700)]
Dump out more information if this assert fails.

BUG=skia:

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

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

Author: mtklein@chromium.org

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

10 years agoDump out more information if this assert fails.
mtklein [Wed, 20 Aug 2014 16:22:28 +0000 (09:22 -0700)]
Dump out more information if this assert fails.

BUG=skia:
R=caryclark@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoadd 2 missing SKP expectations files within experimental dir
epoger [Wed, 20 Aug 2014 15:22:26 +0000 (08:22 -0700)]
add 2 missing SKP expectations files within experimental dir

NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana
(SkipBuildbotRuns)

Author: epoger@google.com

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

10 years agocopy points in array that may stretch
caryclark [Wed, 20 Aug 2014 15:11:24 +0000 (08:11 -0700)]
copy points in array that may stretch

Description:
Potential SkOpSegment::addT() use-after-free

The 'pt' arg can be a reference to a point stored in the local fTs
TDArray => appending may cause a realloc and leave the reference
pointing to deallocated mem.

Copy the points from the stretchy array before adding them.

R=fmalita@google.com, fmalita@chromium.org, fmalita
BUG=405417

Author: caryclark@google.com

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

10 years agoImplement SkPicture::hasText() for SkRecord backend.
mtklein [Wed, 20 Aug 2014 15:09:46 +0000 (08:09 -0700)]
Implement SkPicture::hasText() for SkRecord backend.

Plus, some small tweaks to the existing code surrounding it.  Just proposals,
will undo whatever you don't like.

BUG=skia:
R=mtklein@google.com, tomhudson@google.com, reed@google.com

Author: mtklein@chromium.org

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

10 years agoRemove SK_FONT_HOST_DOES_NOT_USE_FONTMGR and guarded code.
bungeman [Wed, 20 Aug 2014 15:01:35 +0000 (08:01 -0700)]
Remove SK_FONT_HOST_DOES_NOT_USE_FONTMGR and guarded code.

This define is no longer needed or set, so remove it from the code.

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

Author: bungeman@google.com

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

10 years agorebaseline_server: allow users to generate SKP diff patches on a shared instance
epoger [Wed, 20 Aug 2014 15:00:28 +0000 (08:00 -0700)]
rebaseline_server: allow users to generate SKP diff patches on a shared instance

This will allow developers to maintain SKP baselines without ever running their
own rebaseline_server instance!

For now, the developer must manually apply the resulting patchset to his local
Skia checkout to actually modify expectations; in the near future, we hope to
make the UI upload the patchset to Rietveld on the user's behalf.

BUG=skia:1918
NOTRY=true
R=stephana@google.com, rmistry@google.com

Author: epoger@google.com

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

10 years agostart maintaining some experimental SKP expectations
epoger [Wed, 20 Aug 2014 14:52:28 +0000 (07:52 -0700)]
start maintaining some experimental SKP expectations

BUG=skia:1942
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

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

10 years agoDefine NDEBUG instead of SK_DEBUG/SK_RELEASE.
mtklein [Wed, 20 Aug 2014 14:38:46 +0000 (07:38 -0700)]
Define NDEBUG instead of SK_DEBUG/SK_RELEASE.

This makes our builds more like Chrome's, and will make our builds fail
if we accidentally use if SK_DEBUG instead of ifdef SK_DEBUG.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

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

10 years agofix Image::isOpaque test to not leak
reed [Wed, 20 Aug 2014 14:24:01 +0000 (07:24 -0700)]
fix Image::isOpaque test to not leak

BUG=skia:
R=halcanary@google.com

Author: reed@google.com

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

10 years agoRevert to old autohinting behavior on Android.
djsollen [Wed, 20 Aug 2014 14:03:23 +0000 (07:03 -0700)]
Revert to old autohinting behavior on Android.

This CL reverts to the NO_AUTOHINT behavior when autohinting is not
explicitly requested. This should be removed when Skia supports a
better API for selecting the correct variation.

This CL has landed in the Android repo and is being upstreamed to
avoid fragmenting the codebase.

R=bungeman@google.com

Author: djsollen@google.com

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

10 years agoignore release as well
caryclark [Wed, 20 Aug 2014 13:34:15 +0000 (06:34 -0700)]
ignore release as well

This GM is flaky as Brian expected on both Release and Debug,
so suppress the Release expectation as well.

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

Author: caryclark@google.com

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

10 years agoRename Recipes bot expectations
borenet [Wed, 20 Aug 2014 13:31:12 +0000 (06:31 -0700)]
Rename Recipes bot expectations

Accidentally used the wrong name :-/

R=epoger@google.com, rmistry@google.com
TBR=epoger, rmistry
BUG=skia:761

Author: borenet@google.com

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

10 years agoMove the code over using the same template type approach previously used for willPlay...
tomhudson [Wed, 20 Aug 2014 12:29:41 +0000 (05:29 -0700)]
Move the code over using the same template type approach previously used for willPlayBackBitmaps in skbug.com/2702.

Also unifies that flag and this one into a struct so they and others can be computed together. The struct is stored const to enforce lifetime expectations. Adds a few new cases to the unit test.

BUG=skia:2700
R=mtklein@google.com, reed@google.com, robertphillips@google.com, tomhudson@google.com

Committed: https://skia.googlesource.com/skia/+/60c2a79cfa8ceebcbafc243407564dc71f5e3b4f

Author: tomhudson@chromium.org

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

10 years agoCopy skimage expectations for Recipes bots
borenet [Wed, 20 Aug 2014 12:25:31 +0000 (05:25 -0700)]
Copy skimage expectations for Recipes bots

BUG=skia:761
NOTRY=true
R=epoger@google.com, rmistry@google.com

Author: borenet@google.com

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

10 years agofix #if to #ifdef for SK_DEBUG
caryclark [Wed, 20 Aug 2014 12:24:29 +0000 (05:24 -0700)]
fix #if to #ifdef for SK_DEBUG

fix the chrome build

R=mtklein@google.com
TBR=mtklein
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: caryclark@google.com

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

10 years agoSimplify GrGLPathRendering interface
kkinnunen [Wed, 20 Aug 2014 11:13:27 +0000 (04:13 -0700)]
Simplify GrGLPathRendering interface

Simplify GrGLPathRendering interface by removing polymorphism and functions that
simply wrap GL functions unnecessarily.

Replace the polymorphism by if -condition.

Call the unconditional GL functions directly. GrGLPath, GrGLPathRange and
GrGLPathRendering are part of the same logical subsystem. This means that the
subsystem implementation details are taken into account within these
classes. Example: if support for using conics would be added, the feature flag
would go to GrGLPathRendering::Caps, the emulation would go to GrGLPath instead of
GrGLPathRendering::pathCommands. Wrapping glPathCommandsNV is not useful.

Try to expose the interface fully in same logical level; rename fragment input
function to reflect this.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

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

10 years agoSeparate GL path rendering state from GrGpuGL to GrGLPathRendering
kkinnunen [Wed, 20 Aug 2014 08:36:23 +0000 (01:36 -0700)]
Separate GL path rendering state from GrGpuGL to GrGLPathRendering

Separate GL path rendering state from GrGpuGL to GrGLPathRendering. This
makes GrGpuGL code simpler.

The intention is that while GrGpuGL represents the global environment for GL,
the GrGLPathRendering represents the global environment for path rendering
extension.

Add GrPathRendering, a base class for path rendering, and inherit
GrGLPathRendering from that. Move the path rendering virtual functions from
GrGpu to GrPathRendering.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

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

10 years agoMake GrGLConfigConversionEffect work for Imagination and some other GPUs.
changjun.yang [Wed, 20 Aug 2014 01:24:30 +0000 (18:24 -0700)]
Make GrGLConfigConversionEffect work for Imagination and some other GPUs.

BUG=372341

Committed: https://skia.googlesource.com/skia/+/93cf46f7d687128d2ad05762bd65fea6c4539553

R=bsalomon@google.com, tomhudson@chromium.org

Author: changjun.yang@intel.com

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

10 years agoCheat to go fast, but be careful in debug mode.
mtklein [Wed, 20 Aug 2014 00:47:14 +0000 (17:47 -0700)]
Cheat to go fast, but be careful in debug mode.

Turns out recording actual text metrics is currently really slow.
If we want to compete with the (cheating) status quo, gotta cheat too.

BUG=skia:
R=reed@google.com, robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoPrint max RSS in GM and nanobench too.
mtklein [Tue, 19 Aug 2014 22:55:55 +0000 (15:55 -0700)]
Print max RSS in GM and nanobench too.

Everyone used MB, so update the API to just return that.

BUG=skia:
R=halcanary@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoAdd the method isOpaque() to SkImage
piotaixr [Tue, 19 Aug 2014 21:29:02 +0000 (14:29 -0700)]
Add the method isOpaque() to SkImage

BUG=skia:2766
R=junov@chromium.org, halcanary@google.com, scroggo@google.com, reed@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

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

10 years agoRevert of Add GrResourceCache2. (patchset #4 of https://codereview.chromium.org/48144...
bsalomon [Tue, 19 Aug 2014 21:20:58 +0000 (14:20 -0700)]
Revert of Add GrResourceCache2. (patchset #4 of https://codereview.chromium.org/481443002/)

Reason for revert:
Likely caused a leak detected in Chromium after last Skia roll.

Original issue's description:
> Add GrResourceCache2.
>
> Currently it just replaces GrGpu as the owner of the linked list of resources.
>
> Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f

R=mtklein@google.com, robertphillips@google.com
TBR=mtklein@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

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

10 years agoTrim down OSX GYP rules. Same effect, shorter.
mtklein [Tue, 19 Aug 2014 20:32:59 +0000 (13:32 -0700)]
Trim down OSX GYP rules.   Same effect, shorter.

BUG=skia:
R=bungeman@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoTreat embedded bitmaps as a hinting method.
bungeman [Tue, 19 Aug 2014 20:18:58 +0000 (13:18 -0700)]
Treat embedded bitmaps as a hinting method.

R=reed@google.com

Author: bungeman@google.com

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

10 years agoAdd --options to nanobench, similar to --key but for non-identifying options.
mtklein [Tue, 19 Aug 2014 19:41:53 +0000 (12:41 -0700)]
Add --options to nanobench, similar to --key but for non-identifying options.

Friends with https://codereview.chromium.org/487233003/

Example of out/Release/nanobench --options build_number 12374 --match patch_grid_texs_small

{
   "gitHash":"unknown-revision",
   "options":{
      "build_number":"12374",
      "system":"UNIX"
   },
   "results":{
      "patch_grid_texs_small_640_480":{
         "565":{
            "max_ms":0.268116,
            "mean_ms":0.2318529,
            "median_ms":0.235337,
            "min_ms":0.219158,
            "options":{
               "source_type":"bench"
            },
            "stddev_ms":0.01491263917658814
         },
         "8888":{
            "max_ms":0.231881,
            "mean_ms":0.2214668,
            "median_ms":0.219356,
            "min_ms":0.218887,
            "options":{
               "source_type":"bench"
            },
            "stddev_ms":0.004595541070791701
         },
         "gpu":{
            "max_ms":0.1398304782608696,
            "mean_ms":0.128833402173913,
            "median_ms":0.1316798695652174,
            "min_ms":0.1111915434782609,
            "options":{
               "GL_RENDERER":"Quadro 600/PCIe/SSE2",
               "GL_SHADING_LANGUAGE_VERSION":"4.40 NVIDIA via Cg compiler",
               "GL_VENDOR":"NVIDIA Corporation",
               "GL_VERSION":"4.4.0 NVIDIA 331.79",
               "source_type":"bench"
            },
            "stddev_ms":0.008923738937837156
         }
      }
   }
}

BUG=skia:
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agorebaseline_server: in Pending Approval tab, change expected/actual labels to old/new
epoger [Tue, 19 Aug 2014 19:17:06 +0000 (12:17 -0700)]
rebaseline_server: in Pending Approval tab, change expected/actual labels to old/new

BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

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

10 years agoAdd GrResourceCache2.
bsalomon [Tue, 19 Aug 2014 15:21:25 +0000 (08:21 -0700)]
Add GrResourceCache2.

Currently it just replaces GrGpu as the owner of the linked list of resources.

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

Author: bsalomon@google.com

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

10 years agoremove unused SkIntToFloatCast_NoOverflowCheck
caryclark [Tue, 19 Aug 2014 14:39:40 +0000 (07:39 -0700)]
remove unused SkIntToFloatCast_NoOverflowCheck

R=reed@google.com, reed
BUG=skia:2849

Author: caryclark@google.com

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

10 years agoRoll jsoncpp, drop dependency on Chromium overrides.
mtklein [Tue, 19 Aug 2014 14:21:00 +0000 (07:21 -0700)]
Roll jsoncpp, drop dependency on Chromium overrides.

This rolls jsoncpp to head, crucially past "Added missing includes for
std::istream." which has given us some grief in the past. And it's required to
build jsoncpp against libc++.

Vanilla jsoncpp works just fine for us, so no need for Chromium's overrides.
Like all DEPS, only tools depend on jsoncpp.

BUG=skia:
R=bungeman@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoRecord concat as setMatrix.
mtklein [Tue, 19 Aug 2014 14:09:40 +0000 (07:09 -0700)]
Record concat as setMatrix.

Mainly this cuts out a type to have to think about in SkRecord world.
It also means all the CTMs are recorded directly in the SkRecord, so
we can track the current CTM by pointer rather than by copying.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoQuickfix for incorrect PICTURE_MATRIX_PAINT & PATCH optimization.
fmalita [Tue, 19 Aug 2014 13:50:35 +0000 (06:50 -0700)]
Quickfix for incorrect PICTURE_MATRIX_PAINT & PATCH optimization.

DRAW_PICTURE_MATRIX_PAINT & DRAW_PATCH are drawing ops.

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

Author: fmalita@chromium.org

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

10 years agoMove SkReadBuffer.h and SkReader32.h out of include.
halcanary [Tue, 19 Aug 2014 13:27:53 +0000 (06:27 -0700)]
Move SkReadBuffer.h and SkReader32.h out of include.

Committed: https://skia.googlesource.com/skia/+/2a51d7c74cec217195f861677de8998b382b39e4

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

Author: halcanary@google.com

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

10 years agoadd patch grid update for 64 bit arm
caryclark [Tue, 19 Aug 2014 12:28:23 +0000 (05:28 -0700)]
add patch grid update for 64 bit arm

TBR=
NOTREECHECKS=true
NOTRY=true

Author: caryclark@google.com

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

10 years agoUpdate SKP version to 78
borenet [Tue, 19 Aug 2014 04:22:20 +0000 (21:22 -0700)]
Update SKP version to 78

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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

10 years agoRevert "Move the code over using the same template type approach previously used...
Mike Klein [Mon, 18 Aug 2014 22:35:16 +0000 (18:35 -0400)]
Revert "Move the code over using the same template type approach previously used for willPlayBackBitmaps in skbug.com/2702."

This reverts commit 60c2a79cfa8ceebcbafc243407564dc71f5e3b4f.

BUG=skia:

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

10 years agorebaseline_server: constrain setADir/setBDir to consistently refer to single director...
epoger [Mon, 18 Aug 2014 22:14:46 +0000 (15:14 -0700)]
rebaseline_server: constrain setADir/setBDir to consistently refer to single directories, not lists

Before this CL, we supported multiple setADirs/setBDirs for some operations but
not others... now we consistently support a single pair of directories.

NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

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

10 years agoMove the code over using the same template type approach previously used for willPlay...
tomhudson [Mon, 18 Aug 2014 22:07:13 +0000 (15:07 -0700)]
Move the code over using the same template type approach previously used for willPlayBackBitmaps in skbug.com/2702.

Also unifies that flag and this one into a struct so they and others can be computed together. The struct is stored const to enforce lifetime expectations. Adds a few new cases to the unit test.

BUG=skia:2700
R=mtklein@google.com, reed@google.com, robertphillips@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

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

10 years agoRevert "Move SkReadBuffer.h and SkReader32.h out of include."
halcanary [Mon, 18 Aug 2014 20:48:13 +0000 (13:48 -0700)]
Revert "Move SkReadBuffer.h and SkReader32.h out of include."

This reverts commit 2a51d7c74cec217195f861677de8998b382b39e4.

Breaking Blink

NOTRY=true
R=bungeman@google.com
TBR=bungeman@google.com

Author: halcanary@google.com

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

10 years agoCounterproposal for skirting the BBH when the query fully contains the picture.
mtklein [Mon, 18 Aug 2014 20:39:11 +0000 (13:39 -0700)]
Counterproposal for skirting the BBH when the query fully contains the picture.

BUG=skia:
R=reed@google.com, robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoThis adds renderMode and builder as columns to the front end when looking at SKPs.
stephana [Mon, 18 Aug 2014 20:37:59 +0000 (13:37 -0700)]
This adds renderMode and builder as columns to the front end when looking at SKPs.

BUG=skia:2833
NOTRY=true
R=epoger@google.com

Author: stephana@google.com

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

10 years agoMove SkReadBuffer.h and SkReader32.h out of include.
halcanary [Mon, 18 Aug 2014 20:04:59 +0000 (13:04 -0700)]
Move SkReadBuffer.h and SkReader32.h out of include.

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

Author: halcanary@google.com

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

10 years agoExpose API for whether an SkPicture contains text
ajuma [Mon, 18 Aug 2014 19:59:55 +0000 (12:59 -0700)]
Expose API for whether an SkPicture contains text

BUG=chromium:399728
R=reed@google.com, nduca@chromium.org

Author: ajuma@chromium.org

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

10 years agoFix srcAlpaWillBeOne() for coverage drawing
bsalomon [Mon, 18 Aug 2014 18:49:37 +0000 (11:49 -0700)]
Fix srcAlpaWillBeOne() for coverage drawing

R=egdaniel@google.com

Author: bsalomon@google.com

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

10 years agoStart actually bounding some draw ops.
mtklein [Mon, 18 Aug 2014 18:10:37 +0000 (11:10 -0700)]
Start actually bounding some draw ops.

This covers most of the common draws.

BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoFix copyright on SkTLS.h.
bungeman [Mon, 18 Aug 2014 17:29:57 +0000 (10:29 -0700)]
Fix copyright on SkTLS.h.

R=reed@google.com

Author: bungeman@google.com

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

10 years agoRename GPUAccelData to GrAccelData
robertphillips [Mon, 18 Aug 2014 16:39:34 +0000 (09:39 -0700)]
Rename GPUAccelData to GrAccelData

This is calved off of (Add new API to allow layer hoisting/atlasing across picture piles
- https://codereview.chromium.org/474623002/)

R=bsalomon@google.com

Author: robertphillips@google.com

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

10 years agoCopy N10 GM expectations for recipe bot
borenet [Mon, 18 Aug 2014 15:50:42 +0000 (08:50 -0700)]
Copy N10 GM expectations for recipe bot

BUG=skia:761
R=epoger@google.com, rmistry@google.com

Author: borenet@google.com

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

10 years agoRefactor GrLayerCache for new API
robertphillips [Mon, 18 Aug 2014 15:50:03 +0000 (08:50 -0700)]
Refactor GrLayerCache for new API

The only substantive change in this CL is skipping atlasing
for any layers that are involved in nesting. Prior versions
have allowed nesting layers to be atlased.

--------------------------------------------------------

All times are on Windows with a repeat count of 200.
Format is: <time in ms> (<# of glBindframebuffer calls>)

How to interpret this:

For the boogie page:

 both columns should be the same (since boogie has no
        nested layers)
 without the new API the tiled case doesn't show any real
        benefit from hoisting

For the carsvg page:

 The nesting change does increase the number of FBO
      switches but doesn't kill performance
 Because of the location & size of the layers the
      tile case does show some improvement (even
      without the new API)

boogie
-------

   w/o nested change   w/ nested change

simple                5.62 (811)           N/A

tiled                 7.72 (811)           N/A

simple w/ hoisting    5.23 (409)        5.77 (409)
(but no caching)

tiled w/ hoisting     7.57 (809)        7.49 (809)
(but no caching)

carsvg
------

   w/o nested change   w/ nested change

simple        60.37 (141990)        N/A

tiled                115.13 (256929)        N/A

simple w/ hoisting    41.57 (64570)      42.82 (72279)
(but no caching)

tiled w/ hoisting     84.24 (154352)     84.71 (165630)
(but no caching)

R=bsalomon@google.com

Author: robertphillips@google.com

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

10 years agoSmall tweaks and a bug fix.
mtklein [Mon, 18 Aug 2014 15:45:33 +0000 (08:45 -0700)]
Small tweaks and a bug fix.

Bug fixed: I was calling paint->canComputeFastBounds() where I should have been calling fSaveStack[i].paint->canComputeFastBounds().

This suggested I factor out the paint adjusting code, now called AdjustForPaint().  This removes the getImageFilter() check for SaveLayers, which seems like an optimization we can add back later if it proves important.

We're going to want to intersect the bounds with the current clip bounds eventually, so might as well land that here too.

Plus, more const.

BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoAndroid.mk: bench_pictures -> nanobench
mtklein [Mon, 18 Aug 2014 15:44:54 +0000 (08:44 -0700)]
Android.mk: bench_pictures -> nanobench

We're only keeping bench_pictures around for the bots now.  For human-initiated work, nanobench is the way to go.

BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoSkImage::NewFromGenerator(SkImageGenerator*), and a unit test.
halcanary [Mon, 18 Aug 2014 15:27:09 +0000 (08:27 -0700)]
SkImage::NewFromGenerator(SkImageGenerator*), and a unit test.

R=reed@google.com

Author: halcanary@google.com

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

10 years agoStop sorting the results of SkBBH::search().
mtklein [Mon, 18 Aug 2014 15:23:18 +0000 (08:23 -0700)]
Stop sorting the results of SkBBH::search().

We only seem to need to sort with SkQuadTree, which is not actively used by
client code.  So it's really just wasted work.  SkQuadTree is interesting, but
I'd rather disable it than slow down the production code path.

BUG=skia:2834
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

10 years agoFix Android platform self-tests
borenet [Mon, 18 Aug 2014 15:13:12 +0000 (08:13 -0700)]
Fix Android platform self-tests

Remove things related to no-longer-existing unittests, run makefile_writer_tests --rebaseline

BUG=skia:2843
R=djsollen@google.com, scroggo@google.com

Author: borenet@google.com

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

10 years agoeliminate code related to SkBitmap::Config
reed [Mon, 18 Aug 2014 15:13:02 +0000 (08:13 -0700)]
eliminate code related to SkBitmap::Config

BUG=skia:
R=reed@google.com, mike@reedtribe.org

Author: reed@chromium.org

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

10 years agoAdd alias mapping for Noto Sans CJK for ja/hans
jshin [Mon, 18 Aug 2014 15:07:51 +0000 (08:07 -0700)]
Add alias mapping for Noto Sans CJK for ja/hans

Chrome/Chromium OS are getting a brand new CJK fonts (Noto Sans CJK).
We want them to be used in place of common Japanese and Simplified
Chinese sans-serif fonts.

BUG=chromium:399080
TEST=With CrOS CL
(https://chromium-review.googlesource.com/#/c/212624/), web pages
using 'Simhei' and 'MSP Gothic' are rendered with Noto Sans CJK.

R=reed@chromium.org, bungeman@google.com

Author: jshin@chromium.org

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

10 years agoCorrect order for alignment in name iterator record.
bungeman [Mon, 18 Aug 2014 15:07:44 +0000 (08:07 -0700)]
Correct order for alignment in name iterator record.

We must be quite careful about the order of fields in a 'pragma pack(1)'.
On Android the order 'uint16_t, void*' will misalign the pointer,
potentially leading to a crash.

In the future we should move anything which is not strictly part of the
table definition outside of the packed region.

R=mtklein@google.com

Author: bungeman@google.com

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

10 years agosimplify SkCanvas::init()
reed [Mon, 18 Aug 2014 15:02:43 +0000 (08:02 -0700)]
simplify SkCanvas::init()

BUG=skia:
R=robertphillips@google.com

Author: reed@google.com

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

10 years agoFix typo
krajcevski [Mon, 18 Aug 2014 15:02:33 +0000 (08:02 -0700)]
Fix typo

R=robertphillips@google.com

Author: krajcevski@google.com

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

10 years agoRemove fOrigFontID from SkScalerContextRec.
bungeman [Mon, 18 Aug 2014 14:57:35 +0000 (07:57 -0700)]
Remove fOrigFontID from SkScalerContextRec.

With the recent Android changes and removal of chaining, this is no longer used.

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

Author: bungeman@google.com

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

10 years agoRemove unused SkGlyphCache::VisitAllCaches.
bungeman [Mon, 18 Aug 2014 14:57:26 +0000 (07:57 -0700)]
Remove unused SkGlyphCache::VisitAllCaches.

R=reed@google.com

Author: bungeman@google.com

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

10 years agoAdd scraper to find paths that fallback to software
krajcevski [Mon, 18 Aug 2014 14:52:25 +0000 (07:52 -0700)]
Add scraper to find paths that fallback to software

R=robertphillips@google.com, krajcevski@gmail.com

Author: krajcevski@google.com

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