Commit Graph

13569 Commits

Author SHA1 Message Date
joshualitt
30ba436f04 Initial refactor of shaderbuilder to prepare for geometry shaders
gitignore for eclipse

BUG=skia:
R=bsalomon@google.com, bsalomon@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/491673002
2014-08-21 20:18:45 -07:00
mtklein
c8c4b95728 Revert of Revert back to SkPictureData pictures. Huge perf regression. (patchset #1 of https://codereview.chromium.org/496603002/)
Reason for revert:
Try again now that we have --bbh on nanobench and it's looking decent.

Original issue's description:
> Revert back to SkPictureData pictures.  Huge perf regression.
>
> http://skiaperf.com/#108
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4082d290eea2f70caa82120ff3bc4fbdccbf206c

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/496173002
2014-08-21 17:10:14 -07:00
mtklein
c8460493ad 1.5x -> 2x text size for y pad.
This will expand the cheat to just big enough to pass an assertion coming
from our GDI bot.  Currently failing:
  -6.000000 -1.500000 6.000000 1.500000 vs. -1.000000 -2.000000 3.000000 1.000000
Will become (-8 -2 8 2) vs. (-1 -2 3 1).

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/496153002
2014-08-21 16:39:12 -07:00
mtklein
2084050a33 Add --bbh (default true) to nanobench.
Chrome's using a bounding box, so it's a good idea for our
bots to do so too.

When set, we'll create an SkTileGrid to match the
parameters of --clip, and so should always hit its fast
path.

This will impose a small overhead (querying the BBH) on all
SKPs, but make large SKPs render more quickly.  E.g. on
GPU desk_pokemonwiki should show about a 30% improvement,
tabl_mozilla about 40%, and one very long page from my
personal suite, askmefast.com, gets 5x faster.

(The performance changes are not the point of the CL, but
something we should be aware of.)

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/497493003
2014-08-21 15:51:22 -07:00
fmalita
c6765d69e3 Add some SkTextBlob builder tests.
R=reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/493443004
2014-08-21 15:03:04 -07:00
mtklein
d13291a5a3 Ignore small text sizes in the text bounding assert.
Seems we sometimes give back unduely large metrics for 0 text size.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/498503003
2014-08-21 14:46:49 -07:00
bsalomon
892f31ab08 Fix surface leak in multidraw GMs.
TBR=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/496793003
2014-08-21 14:40:37 -07:00
djsollen
d92c4c5c95 fix android framework build for nanobench
R=mtklein@google.com, tomhudson@chromium.org, tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/495003004
2014-08-21 13:17:50 -07:00
halcanary
5164a979a0 git-sync-deps handles recursive DEPS
NOTRY=true
R=mtklein@google.com, borenet@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/468113003
2014-08-21 13:17:43 -07:00
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