Commit Graph

13838 Commits

Author SHA1 Message Date
caryclark
361b8b0885 fail when coincidence is too far apart
TBR=
BUG=410552

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/556433002
2014-09-08 10:25:38 -07:00
robertphillips
224310941e Revert of Fix two SkRecord-backed layer hoisting bugs (patchset #1 id:1 of https://codereview.chromium.org/551843002/)
Reason for revert:
turning bots red

Original issue's description:
> Fix two SkRecord-backed layer hoisting bugs
>
> The two bugs are/were:
> The old loop to draw the hoisted layers included the saveLayer call which caused double application of the layer's paint (This is the +1 change).
>
> The hoisted layer is intended to be drawn in device coordinates. The old code was drawing it in the coordinate space of the saveLayer thus it was misplaced (This is the setMatrix change).
>
> Committed: https://skia.googlesource.com/skia/+/7c0cfd4ff8f6db50a8731c886db732b106268937

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/553983003
2014-09-08 10:10:51 -07:00
robertphillips
7c0cfd4ff8 Fix two SkRecord-backed layer hoisting bugs
The two bugs are/were:
The old loop to draw the hoisted layers included the saveLayer call which caused double application of the layer's paint (This is the +1 change).

The hoisted layer is intended to be drawn in device coordinates. The old code was drawing it in the coordinate space of the saveLayer thus it was misplaced (This is the setMatrix change).

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/551843002
2014-09-08 09:53:58 -07:00
mtklein
23c94f05ca Let .skps have Expectations (i.e. work with -r) too.
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/549183002
2014-09-08 09:12:28 -07:00
mtklein
93f52a6944 Turn on the save-layer optimization.
BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/551853002
2014-09-08 08:41:37 -07:00
piotaixr
95fd68e5cc Use SkBitmapCache to optimize readPixels on a texture-backed bitmap
BUG=skia:2786
R=junov@chromium.org, reed@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/533323002
2014-09-08 08:07:47 -07:00
mtklein
1d0f1642e8 Start to rework DM JSON handling.
DM's striking off into its own JSON world.  This gets strawman implementations
in place for writing and reading a JSON file mapping test name to hashes.

For what it's worth, I basically want to change _all_ these pieces,
  - MD5 is slow and we can replace it with something faster,
  - JSON schema needs room to grow more data,
  - it'd be nice to hash once instead of twice when reading and writing,
  - this code wants lots of refactoring,
but this gives us a starting platform to work on these bits at our leisure.

E.x. file for now:

mtklein@mtklein ~/skia (dm)> cat good/dm.json
{
   "3x3bitmaprect_565" : "fc70d985fbfbe70e3a3c9dc626d4f5bc",
   "3x3bitmaprect_8888" : "df1591dde35907399734ea19feb76663",
   "3x3bitmaprect_gpu" : "df1591dde35907399734ea19feb76663",
   "aaclip_565" : "1862798689b838a7ab0dc0652b9ace3a",
   "aaclip_8888" : "47bb314329f0ce243f1d83fd583decb7",
   "aaclip_gpu" : "75f72412d0ef4815770202d297246e7d",
...

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/546873002
2014-09-08 08:05:18 -07:00
mtklein
87c4138fae Turn on all pixel-perfect SkRecord optimizations.
BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/550083006
2014-09-08 07:31:18 -07:00
borenet
6dcccc476b Update SKP version to 95
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/552663002
2014-09-07 20:52:37 -07:00
borenet
9f8cab1538 Update SKP version to 94
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/541173005
2014-09-06 20:40:51 -07:00
borenet
ce23aaee8d Update SKP version to 93
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/543343002
2014-09-05 21:23:05 -07:00
reed
d64c948713 move rasterclip_ helper into rasterclip
R=robertphillips@google.com, reed@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/546113002
2014-09-05 17:37:38 -07:00
bsalomon
2a9ca782ba Make GrDrawState and GrEffectStage use the pending io/exec ref mechanisms.
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/542723004
2014-09-05 14:27:43 -07:00
stephana
03e844a0bc Refactored frontend for the rebaseline server.
This is going to serve as the starting point for the new front-end once the backend is rewritten.

BUG=skia:
NOTRY=true
R=jcgregorio@google.com

Author: stephana@google.com

Review URL: https://codereview.chromium.org/538613002
2014-09-05 13:51:24 -07:00
bsalomon
49f085dddf "NULL !=" = NULL
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
stephana
7260d7292b For certain input skpdiff segfaulted. This prevents the segfault and should fix the failed test in housekeeping.
BUG=skia:2902
R=mtklein@google.com, rmistry@google.com

Author: stephana@google.com

Review URL: https://codereview.chromium.org/546753003
2014-09-05 13:21:42 -07:00
bsalomon
52e9d63f71 Don't take a ref on GP in AutoEffectRestore.
BUG=skia:2889
R=joshualitt@chromium.org, robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/546043002
2014-09-05 12:23:12 -07:00
joshualitt
5a80be2241 Small fix for RODrawState
BUG=skia:
R=egdaniel@google.com, joshualitt@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/545273002
2014-09-05 10:45:30 -07:00
mtklein
4f90c50b56 Suppress mystery leak.
BUG=skia:2916
R=caryclark@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/543063002
2014-09-05 10:36:40 -07:00
bsalomon
9b536523ca Change behavior of GrDS::AutoEffectRestort wrt GPs.
BUG=skia:2889
R=robertphillips@google.com, joshualitt@chromium.org

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/545253002
2014-09-05 09:18:51 -07:00
bsalomon
a1ae66d252 Add pop_back() to GrAllocator and add unit test.
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/538183002
2014-09-05 06:13:43 -07:00
borenet
7675fb23a0 Update SKP version to 92
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/546583003
2014-09-04 21:14:04 -07:00
bsalomon
ac8d6193ea Add method to GrProgramResource to record that pending a execution was completed.
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/543833002
2014-09-04 14:13:44 -07:00
mtklein
29dfaa80f5 Implement all SkCanvas overrides that SkPictureRecord does.
Primarily this is for isDrawingToLayer().  drawData() and onNewSurface() are
for completeness.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/545613002
2014-09-04 14:12:44 -07:00
joshualitt
52354b6df7 Updating expectations
TBR=
BUG=skia:

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/543813003
2014-09-04 13:52:34 -07:00
reed
da8cf5accb don't use local static bitmap -- racy and unnecessary
BUG=skia:
R=mtklein@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/540993003
2014-09-04 13:18:36 -07:00
bsalomon
95740981c3 Add GrProgramElement base class for GrEffect with deferred exec ref.
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/537773004
2014-09-04 13:12:37 -07:00
reed
8f2e791baa add SK_API to forward declare in canvas.h
NOTRY=True
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/541073002
2014-09-04 12:45:18 -07:00
reed
fa35f8e6eb remove getTotalClipAsPath, privatize getTotalClip
R=robertphillips@google.com, djsollen@google.com
TBR=robertphilips

Author: reed@google.com

Review URL: https://codereview.chromium.org/546493002
2014-09-04 12:14:36 -07:00
mtklein
26abcf10a4 disable flaky test
BUG=skia:2912
R=reed@google.com, mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/537363003
2014-09-04 10:50:55 -07:00
reed
73e714eb76 cleanup rasterclip helper
R=robertphillips@google.com
TBR=robertphilips

Author: reed@google.com

Review URL: https://codereview.chromium.org/540983002
2014-09-04 09:02:23 -07:00
joshualitt
bd769d0f1c Initial change to create GeometryProcessor
BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, egdaniel@google.com, jvanverth@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/509153002
2014-09-04 08:56:46 -07:00
robertphillips
c5ba71d2e5 Change SkPicture::draw to playback
R=reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/540963002
2014-09-04 08:42:50 -07:00
Mike Klein
227c54e3d4 Finish off some lingering rebaselines.
BUG=skia:

Review URL: https://codereview.chromium.org/538023002
2014-09-04 11:08:07 -04:00
Mike Klein
d204a1b039 rebaseline downsamplebitmaps
BUG=skia:

Review URL: https://codereview.chromium.org/537913003
2014-09-04 11:03:30 -04:00
qiankun.miao
f31507b240 Enable highQualityFilter_SSE2
With SSE2, bitmap_BGRA_8888_A_scale_rotate_bicubic gains about 40%
performance improvement on desktop i7-3770.

BUG=skia:

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

CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release-Trybot
R=mtklein@google.com, humper@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/525283002
2014-09-04 07:36:38 -07:00
robertphillips
274b4ba6bd Switch Layer Hoisting over to SkRecord backend
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/540543002
2014-09-04 07:24:18 -07:00
Derek Sollenberger
5353bae113 Temporarily disable tiling another GM that produces errors with the existing 64-bit ARM toolchain.
BUG=skia:2908

Review URL: https://codereview.chromium.org/537343003
2014-09-04 09:51:33 -04:00
borenet
a17aac8bd4 Update SKP version to 91
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/544493002
2014-09-03 21:23:26 -07:00
mtklein
406654be7a SkThreadPool ~~> SkTaskGroup
SkTaskGroup is like SkThreadPool except the threads stay in
one global pool.  Each SkTaskGroup itself is tiny (4 bytes)
and its wait() method applies only to tasks add()ed to that
instance, not the whole thread pool.

This means we don't need to bring up new thread pools when
tests themselves want to use multithreading (e.g. pathops,
quilt).  We just create a new SkTaskGroup and wait for that
to complete.  This should be more efficient, and allow us
to expand where we use threads to really latency sensitive
places.  E.g. we can probably now use these in nanobench
for CPU .skp rendering.

Now that all threads are sharing the same pool, I think we
can remove most of the custom mechanism pathops tests use
to control threading.  They'll just ride on the global pool
with all other tests now.

This (temporarily?) removes the GPU multithreading feature
from DM, which we don't use.

On my desktop, DM runs a little faster (57s -> 55s) in
Debug, and a lot faster in Release (36s -> 24s).  The bots
show speedups of similar proportions, cutting more than a
minute off the N4/Release and Win7/Debug runtimes.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f

R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/531653002
2014-09-03 15:34:37 -07:00
Mike Klein
f8b4563e15 remove unused n4 expectations
BUG=skia:

Review URL: https://codereview.chromium.org/537163002
2014-09-03 17:39:25 -04:00
mtklein
2460bbdfbb Revert of SkThreadPool ~~> SkTaskGroup (patchset #4 id:60001 of https://codereview.chromium.org/531653002/)
Reason for revert:
Leaks, leaks, leaks.

Original issue's description:
> SkThreadPool ~~> SkTaskGroup
>
> SkTaskGroup is like SkThreadPool except the threads stay in
> one global pool.  Each SkTaskGroup itself is tiny (4 bytes)
> and its wait() method applies only to tasks add()ed to that
> instance, not the whole thread pool.
>
> This means we don't need to bring up new thread pools when
> tests themselves want to use multithreading (e.g. pathops,
> quilt).  We just create a new SkTaskGroup and wait for that
> to complete.  This should be more efficient, and allow us
> to expand where we use threads to really latency sensitive
> places.  E.g. we can probably now use these in nanobench
> for CPU .skp rendering.
>
> Now that all threads are sharing the same pool, I think we
> can remove most of the custom mechanism pathops tests use
> to control threading.  They'll just ride on the global pool
> with all other tests now.
>
> This (temporarily?) removes the GPU multithreading feature
> from DM, which we don't use.
>
> On my desktop, DM runs a little faster (57s -> 55s) in
> Debug, and a lot faster in Release (36s -> 24s).  The bots
> show speedups of similar proportions, cutting more than a
> minute off the N4/Release and Win7/Debug runtimes.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/533393002
2014-09-03 14:17:48 -07:00
mtklein
9c7207b5dc SkThreadPool ~~> SkTaskGroup
SkTaskGroup is like SkThreadPool except the threads stay in
one global pool.  Each SkTaskGroup itself is tiny (4 bytes)
and its wait() method applies only to tasks add()ed to that
instance, not the whole thread pool.

This means we don't need to bring up new thread pools when
tests themselves want to use multithreading (e.g. pathops,
quilt).  We just create a new SkTaskGroup and wait for that
to complete.  This should be more efficient, and allow us
to expand where we use threads to really latency sensitive
places.  E.g. we can probably now use these in nanobench
for CPU .skp rendering.

Now that all threads are sharing the same pool, I think we
can remove most of the custom mechanism pathops tests use
to control threading.  They'll just ride on the global pool
with all other tests now.

This (temporarily?) removes the GPU multithreading feature
from DM, which we don't use.

On my desktop, DM runs a little faster (57s -> 55s) in
Debug, and a lot faster in Release (36s -> 24s).  The bots
show speedups of similar proportions, cutting more than a
minute off the N4/Release and Win7/Debug runtimes.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/531653002
2014-09-03 14:06:48 -07:00
bsalomon
00b76bd750 Add reference base class to GrGpuResourcewith pending IO references.
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/533343002
2014-09-03 14:05:49 -07:00
Mike Klein
ab799fe66c fix up GM suppressions
BUG=skia:2911

Review URL: https://codereview.chromium.org/538723002
2014-09-03 17:02:04 -04:00
robertphillips
2ed8a75c28 Remove use of EXPERIMENTAL_getActiveOps from layer hoisting code
This is getting in the way of switching to the SkRecord backend and is of questionable value.

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/539693002
2014-09-03 13:46:02 -07:00
mtklein
6a2f5fe867 Turn downsamplebitmap GMs vertical to fit in 2048x2048.
BUG=skia:2911
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/536103002
2014-09-03 13:40:52 -07:00
djsollen
6233c7b2d3 Revert to enabling all of -O2 as it exposes a bug in the toolchain.
Instead as a workaround we will temporarily disable tiling the
few GMs that produce errors with the existing 64-bit ARM toolchain.

BUG=skia:2908
R=mtklein@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/537713002
2014-09-03 13:38:32 -07:00
mtklein
0c88d8233b On Android, skip tiling for all giantbitmap variants.
BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/537693002
2014-09-03 13:22:46 -07:00
piotaixr
91cab830c8 Remove SkBitmapCache::Find/Add(_,width,height,_)
in favor of the versions having a SkIRect as input parameter

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

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/539643002
2014-09-03 12:34:57 -07:00