Commit Graph

13603 Commits

Author SHA1 Message Date
senorblanco
28648fe4a6 Fix recursive computation of filter bounds for drop shadow,
morphology, blur.

Because we're computing "backwards" from a clip rect of destination
pixels to be filled to the required source pixels, we should use tail
recursion rather than head recursion in onFilterBounds().

This actually only makes a difference for drop-shadow, where
the computation is non-commutative. Blur and morphology commute, but I
moved them to tail recursion anyway for clarity (so all onFilterBounds
use tail recursion).

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/481273005
2014-08-25 08:06:57 -07:00
bungeman
76db31a2ca XPS to use PathOps for inverse winding paths.
R=caryclark@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/484343003
2014-08-25 07:31:53 -07:00
bungeman
aace9976cd Reverse swap order in DirectWrite typeface.
C++ forbids temporaries to bind to non-const references.
VC++ allows you to do so anyway, but it makes clang on Windows sad.

R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/487533004
2014-08-25 07:14:03 -07:00
caryclark
2e40381060 add const to arrays of member functions
running 'size ./out/Release/libskia_core.a' revealed a couple of
places where path ops chose poorly and declared arrays of member
functions to be unnecessarily writable.

R=reed@android.com
TBR=reed

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/461363003
2014-08-25 06:53:04 -07:00
jbroman
3053dfaefd Add SK_API to SkTextBlob and SkTextBlobBuilder.
BUG=skia:2868
R=fmalita@chromium.org, reed@google.com

Author: jbroman@chromium.org

Review URL: https://codereview.chromium.org/497993002
2014-08-25 06:22:12 -07:00
halcanary
a5c0863d98 remove SkPurgeGlobalDiscardableMemoryPool
BUG=skia:2721
R=reed@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/495453004
2014-08-25 06:20:13 -07:00
qiankun.miao
045bb7f00b Clean up useless comments in SkScaledImageCache.h
BUG=skia:
R=reed@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/499203002
2014-08-25 06:08:25 -07:00
borenet
66ff5f85c6 Update SKP version to 82
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/499893002
2014-08-23 20:48:09 -07:00
borenet
cae0854bd2 Update SKP version to 81
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/497343002
2014-08-22 21:11:56 -07:00
mtklein
b00f54d8b8 Don't leak the shader by reffing twice in SkRectShaderImageFilter.
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/501563002
2014-08-22 13:42:56 -07:00
mtklein
fa115bd454 Disable Neon optimization of bad S32A/D565 blend.
BUG=skia:2797

Committed: https://skia.googlesource.com/skia/+/84cab93186fbe3e87d931fea73cb31b70ff5017b

R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/497823002
2014-08-22 13:15:38 -07:00
borenet
eb757f6779 Copy Ubuntu12 RenderSKPs expectations for Recipes bot
This is in preparation for implementing the render_skps workflow in recipes.

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

Author: borenet@google.com

Review URL: https://codereview.chromium.org/496283005
2014-08-22 12:23:56 -07:00
Ben Wagner
da5a1b8cd8 Add testing flag for XPS for deterministic ids.
BUG=skia:455
R=mtklein@google.com

Review URL: https://codereview.chromium.org/494423002
2014-08-22 15:07:06 -04:00
bsalomon
02e36f2d3f Fix leak of GrResourceCacheEntry
R=robertphillips@google.com
TBR=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/502543002
2014-08-22 12:01:46 -07:00
mtklein
84cab93186 Disable Neon optimization of bad S32A/D565 blend.
BUG=skia:2797
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/497823002
2014-08-22 11:58:46 -07:00
mtklein
5f0e82204e Support comment groups in SkRecord.
This should fix the failing paint-command-log-nodes.html layout test.

BUG=406425
R=tomhudson@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/501533003
2014-08-22 11:44:26 -07:00
Mike Klein
3e42a46385 suppress matrixconvolution
BUG=skia:

Review URL: https://codereview.chromium.org/476283003
2014-08-22 13:09:02 -04:00
mtklein
d910f54443 Fix saveLayer() with a pixel-moving filter vs SkBBoxHierarchyRecord / SkRecordDraw
In SkBBoxHierarchyRecord:
  Since the bounds we pass to saveLayer are in the pre-filtering
  coordinate space, they aren't correct for determining the actual
  device pixels touched by the saveLayer in this case.

  The easiest fix for now is to pass the clip bounds, since the final
  draw done in restore() will never draw outside the clip.

In SkRecordDraw:
  We do adjust the bounds passed to saveLayer, so we just need to make
  sure that when we're using a paint that may affect transparent black,
  we ignore the calculated bounds of draw ops and use the clip intersected
  with those adjusted bounds.

See originally crrev.com/497773002

BUG=skia:
R=reed@google.com, senorblanco@chromium.org, junov@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/496963003
2014-08-22 09:06:34 -07:00
bsalomon
4b4faa6329 Fix leak in multipicturedraw GMs.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/502493002
2014-08-22 09:02:38 -07:00
fmalita
37ecbaffd1 [SkTextBlob] Merge run font data at draw time.
R=bungeman@google.com, reed@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/496773002
2014-08-22 09:01:20 -07:00
reed
8367b8cb7a extend SkShader to report a luminance-color to be used for gamma correction
BUG=skia:590
R=bungeman@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/492963002
2014-08-22 08:30:20 -07:00
reed
5b2c2c6fd0 disable neon proc that is triggering asserts
BUG=skia:2845
R=mtklein@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/498733002
2014-08-22 08:27:45 -07:00
Mike Klein
4d88bf547f Some early 565 rebaselines.
BUG=skia:2797

Review URL: https://codereview.chromium.org/488453003
2014-08-22 11:23:18 -04:00
fmalita
51bf9573b8 Add some text blob bounds unit tests.
R=robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/498693002
2014-08-22 07:50:46 -07:00
reed
233c295980 fix numerical overflows in 565 blends
BUG=skia:2797
R=mtklein@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/474983007
2014-08-22 07:27:14 -07:00
egdaniel
ab78e06830 Store vertex size in DrawState when setVertexAttribs is called
This will avoid recalculating vertex size throughout code, and will allow
for a set original vertex size once optimizations start removing VA's

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/498483002
2014-08-22 07:19:35 -07:00
Mike Klein
6f1cd27536 Ignore GMs that will need 565 rebaselines.
BUG=skia:

Review URL: https://codereview.chromium.org/483883004
2014-08-22 10:16:03 -04:00
tfarina
efafe9484f Cleanup: Remove BenchTool xcode project file.
BUG=None
TEST=None
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/491263003
2014-08-22 05:42:44 -07:00
reed
f0f6c405fe fix leak in new createproc
BUG=skia:
R=caryclark@google.com, mike@reedtribe.org, mtklein@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/461253007
2014-08-22 05:08:26 -07:00
caryclark
fe9384910d add tool generated whitespace
the rebaseline tool adds whitespace at the end of lines in the json file.
While harmless, git flags this as something worth fixing. Fixing it causes
the rebaseline tool to generate a new difference with the whitespace.

Checking the whitespace back in to avoid future back-and-forth.

TBR=
NOTRY=true
NOTREECHECKS=true

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/494363002
2014-08-22 04:55:14 -07:00
caryclark
accce6ed75 fix remaining arm64 expectations
R=halcanary@google.com
TBR=halcanary@google.com
NOTRY=true
NOTREECHECKS=true
BUG=skia:2845

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/496253004
2014-08-22 04:48:13 -07:00
rmistry
2529f2e72c Add ability to output ImageBaseGSUrl to render_picture and use in rebaseline server.
BUG=skia:2230
R=epoger@google.com

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/479613002
2014-08-22 04:46:30 -07:00
epoger
85b438dfab create sk_tools::Expectation class, similar to skiagm::Expectations class
The overarching goal here is for our "gm" and "render_pictures" tools to handle
image expectations/actuals in the same way, sharing the same code, so their
results can be processed through a single pipeline.

By adding an Expectation class within tools/image_expectations.h, similar to
the Expectations class in gm/gm_expectations.h, we get one step closer to
that goal.

R=stephana@google.com
TBR=stephana

Author: epoger@google.com

Review URL: https://codereview.chromium.org/493363002
2014-08-21 23:21:32 -07:00
borenet
83bee6a937 Update SKP version to 80
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

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