Commit Graph

13560 Commits

Author SHA1 Message Date
robertphillips
7eacd77ce6 SkMultiPictureDraw API
This CL adds a new API to optimize across multiple SkPicture draw calls.

Note that multiple pictures rendered at once (i.e., picture piles) should be flattened into a single new picture that includes the required clipping on the different layers.

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/491313003
2014-08-21 13:12:42 -07:00
djsollen
ed20c9b9c9 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
2014-08-21 13:12:34 -07:00
robertphillips
64bf76722e 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
2014-08-21 13:07:35 -07:00
mtklein
c92e550d36 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
2014-08-21 13:07:27 -07:00
djsollen
8ebdd99bb1 Cleanup FDO options.
R=tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/489373004
2014-08-21 13:02:27 -07:00
bsalomon
c8dc1f74b6 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
2014-08-21 13:02:13 -07:00
caryclark
78fc1dbed0 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
2014-08-21 12:37:55 -07:00
reed
d5176a2fb6 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
2014-08-21 12:32:40 -07:00
mtklein
55de40b38c 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
2014-08-21 11:52:36 -07:00
reed
7daaaa4425 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
2014-08-21 10:53:34 -07:00
reed
a6cac4ce38 rename gradients private BitmapCache to GradientBitmapCache
R=caryclark@google.com
NOTREECHECKS=True

Author: reed@google.com

Review URL: https://codereview.chromium.org/474983005
2014-08-21 10:50:25 -07:00
reed
04617139f7 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
2014-08-21 09:46:49 -07:00
mtklein
53fecfb15d 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
2014-08-21 09:11:38 -07:00
halcanary
c2d04e1bb8 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
2014-08-21 09:03:50 -07:00
fmalita
00d5c2c652 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
2014-08-21 08:53:26 -07:00
reed
9fa60daad4 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
2014-08-21 07:59:51 -07:00
caryclark
5d74806b47 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
2014-08-21 07:43:43 -07:00
djsollen
a8d2c4adb8 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
2014-08-21 07:40:43 -07:00
djsollen
6bf35c2100 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
2014-08-21 07:38:31 -07:00
djsollen
729776c810 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
2014-08-21 07:33:40 -07:00
djsollen
ef24b7d338 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
2014-08-21 07:33:20 -07:00
egdaniel
01a492f959 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
2014-08-21 06:47:51 -07:00
halcanary
af28dc6030 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
2014-08-21 06:30:11 -07:00
egdaniel
8cbf3d5b17 Remove State struct from GrDrawState
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/464363002
2014-08-21 06:27:22 -07:00
reed
8bf3df68c5 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
2014-08-21 05:51:22 -07:00
borenet
1f31e76717 Update SKP version to 79
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/485233003
2014-08-20 21:20:36 -07:00
mtklein
4082d290ee 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
2014-08-20 16:18:25 -07:00
mtklein
1b523babbe 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
2014-08-20 15:50:46 -07:00
halcanary
39cd5b9041 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
2014-08-20 14:40:09 -07:00
mtklein
7b705bb17e 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
2014-08-20 14:22:58 -07:00
caryclark
74206bc489 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
2014-08-20 14:01:28 -07:00
reed
4f987e9431 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
2014-08-20 13:41:56 -07:00
epoger
260d237566 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
2014-08-20 12:21:48 -07:00
bungeman
df2ec358be 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
2014-08-20 12:21:32 -07:00
epoger
d9f18a35d5 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
2014-08-20 11:51:39 -07:00
mtklein
1915b62637 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
2014-08-20 11:45:00 -07:00
epoger
1a17f7aeb2 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
2014-08-20 11:39:35 -07:00
epoger
5fc8edc81d 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
2014-08-20 11:10:30 -07:00
epoger
3144d37e5f 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
2014-08-20 10:55:27 -07:00
mtklein
46bc6217ca 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
2014-08-20 09:44:28 -07:00
mtklein
ec924b9696 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
2014-08-20 09:22:28 -07:00
epoger
a38acc74bb 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
2014-08-20 08:22:26 -07:00
caryclark
bdbb2422b9 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
2014-08-20 08:11:24 -07:00
mtklein
c551d9fcae 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
2014-08-20 08:09:46 -07:00
bungeman
f47dfed7a2 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
2014-08-20 08:01:35 -07:00
epoger
2c4352bb9d 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
2014-08-20 08:00:28 -07:00
epoger
802aa8c15b 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
2014-08-20 07:52:29 -07:00
mtklein
753b870c62 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
2014-08-20 07:38:46 -07:00
reed
b88813683c fix Image::isOpaque test to not leak
BUG=skia:
R=halcanary@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/495523002
2014-08-20 07:24:01 -07:00
djsollen
858a789124 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
2014-08-20 07:03:23 -07:00