Commit Graph

14004 Commits

Author SHA1 Message Date
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
reed
e5ea500d47 Hide fields in SkImageInfo
R=rmistry@google.com
TBR=bsalomon

Author: reed@google.com

Review URL: https://codereview.chromium.org/536003002
2014-09-03 11:54:58 -07:00
piotaixr
42b0dfeb29 The key for SkBitmapCache can now be genID+SkIRect
BUG=skia:2894
R=junov@chromium.org, reed@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/518983002
2014-09-03 11:33:13 -07:00
robertphillips
d982eb22d7 Replace SkPictureReplacementPlayback with GrRecordReplaceDraw
I think this is sufficiently specialized to keep it in Ganesh for the time being.

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/535953002
2014-09-03 11:04:31 -07:00
djsollen
74364c9774 Disable -fexpensive-optimizations on 64-bit ARM.
BUG=skia:2908
R=mtklein@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/535113004
2014-09-03 10:44:00 -07:00
mtklein
c09b2c49a3 Revert of Enable highQualityFilter_SSE2 (patchset #1 id:1 of https://codereview.chromium.org/525283002/)
Reason for revert:
Color order looks wrong on Macs:

Before: http://chromium-skia-gm.commondatastorage.googleapis.com/gm/bitmap-64bitMD5/filterbitmap_image_mandrill_16.png/12823183142873462143.png

After: http://chromium-skia-gm.commondatastorage.googleapis.com/gm/bitmap-64bitMD5/filterbitmap_image_mandrill_16.png/13683040204546320578.png

Original issue's description:
> 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

R=humper@google.com, qiankun.miao@intel.com
TBR=humper@google.com, qiankun.miao@intel.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/539523002
2014-09-03 08:57:02 -07:00
jvanverth
3f5417590a Update fontcache GM to stress the font atlas.
Pulled out of https://codereview.chromium.org/466363009/.

R=bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/534253003
2014-09-03 08:44:59 -07:00
qiankun.miao
b381fa10d8 Enable highQualityFilter_SSE2
With SSE2, bitmap_BGRA_8888_A_scale_rotate_bicubic gains about 40%
performance improvement on desktop i7-3770.

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

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/525283002
2014-09-03 08:24:12 -07:00
bsalomon
b0bd4f64a6 Remove GrDrawTarget::AutoRenderTargetRestore.
Pass GrRenderTarget in GrGpuG clear\bind methods.

BUG=skia:2889
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/533883004
2014-09-03 07:19:50 -07:00
mtklein
eddb113ec6 Disable SSE4 S32A_Opaque blit.
This code sometimes generates a build warning that bothers Chrome.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/538463003
2014-09-03 07:02:07 -07:00
reed
1cf15b4735 remove flags that are already mirrored in chrome's SkUserConfig.h
NOTRY=True
TBR=fmalita@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/537563002
2014-09-03 06:31:06 -07:00
qiankun.miao
a695514ced Remove dead code in SkBitmapFilter_opts_SSE2.h/cpp
BUG=skia:
R=mtklein@google.com, humper@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/530673002
2014-09-03 06:27:54 -07:00
Derek Sollenberger
2e9176c348 Update failing testimagefilter GM with new baseline and bug number
Review URL: https://codereview.chromium.org/535843003
2014-09-03 09:10:20 -04:00
Derek Sollenberger
afbfc2212e Rebase NEON image procs based on C++ implementation.
BUG=skia:2845

Review URL: https://codereview.chromium.org/532193003
2014-09-03 09:01:29 -04:00
reed
2bdf1f56c3 Revert of Add gamma/sRGB tag to SkImageInfo (patchset #1 id:1 of https://codereview.chromium.org/527073003/)
Reason for revert:
virtual gpu failures in layouttests

http://build.chromium.org/p/tryserver.blink/builders/linux_blink_dbg/builds/23717

[6:6:0903/041147:1700960503:INFO:SkBitmap.cpp(1003)] ../../third_party/skia/src/core/SkBitmap.cpp:1003: failed assertion "fPixelRef->info() == pixelRef->info()"

[6:6:0903/041147:1700961002:FATAL:SkBitmap.cpp(1003)] SK_CRASH
#0 0x7f9867df2c1e base::debug::StackTrace::StackTrace()
#1 0x7f9867e89e05 logging::LogMessage::~LogMessage()
#2 0x7f98689c4970 SkDebugf_FileLine()
#3 0x7f986870ebc6 SkBitmap::deepCopyTo()
#4 0x7f98690a3b6d blink::deepSkBitmapCopy()
#5 0x7f98690a3abe blink::ImageBuffer::copyImage()
#6 0x7f985fd4479e blink::ImageBitmap::ImageBitmap()
#7 0x7f985fd45942 blink::ImageBitmap::create()
#8 0x7f985fd84fdc blink::ImageBitmapFactories::createImageBitmap()
#9 0x7f985fd84d11 blink::ImageBitmapFactories::createImageBitmap()
#10 0x7f985ec9a7f2 blink::LocalDOMWindowV8Internal::createImageBitmap13Method()
#11 0x7f985ec96b0c blink::LocalDOMWindowV8Internal::createImageBitmapMethod()
#12 0x7f985ec91954 blink::LocalDOMWindowV8Internal::createImageBitmapMethodCallback()
#13 0x7f9869955af0 v8::internal::FunctionCallbackArguments::Call()
#14 0x7f98699833bd v8::internal::Builtin_HandleApiCall()

Original issue's description:
> Add gamma/sRGB tag to SkImageInfo
>
> This reverts commit 1cbc68f965.
>
> requires this to land in blink https://codereview.chromium.org/531883002/
>
> Committed: https://skia.googlesource.com/skia/+/2f6abdecc5c2f21da13003c615903679abc73fc7

R=fmalita@google.com, reed@chromium.org
TBR=fmalita@google.com, reed@chromium.org
NOTREECHECKS=true
NOTRY=true

Author: reed@google.com

Review URL: https://codereview.chromium.org/535113002
2014-09-03 05:48:56 -07:00
Derek Sollenberger
c56653cdd2 Update GM baselines for Arm64 bot.
Review URL: https://codereview.chromium.org/530423003
2014-09-03 08:31:02 -04:00
reed
2f6abdecc5 Add gamma/sRGB tag to SkImageInfo
This reverts commit 1cbc68f965.

requires this to land in blink https://codereview.chromium.org/531883002/

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

Author: reed@google.com

Review URL: https://codereview.chromium.org/527073003
2014-09-02 21:56:40 -07:00
mtklein
937c9c7eb4 Fix drawPosText() bounds bug.
We didn't catch this in our local tests because we tend to use default
kUTF8_TextEncoding with single-byte characters, which means N == byteLength.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/531933002
2014-09-02 15:19:48 -07:00
reed
294739b848 add legacy guard for SK_SUPPORT_LEGACY_ALLOCPIXELS_BOOL to android
NOTRY=True

BUG=skia:
R=djsollen@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/530163002
2014-09-02 13:50:39 -07:00
pkasting
280c2c6fbb Address MSVC warnings about possible value truncation. In the process removes some apparently unused code.
BUG=81439
TEST=none
R=reed@google.com

Author: pkasting@chromium.org

Review URL: https://codereview.chromium.org/517763002
2014-09-02 13:40:48 -07:00
djsollen
5ee785d9c7 Remove legacy (and also broken) SkPicture constructor.
R=robertphillips@google.com, reed@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/532703004
2014-09-02 13:34:49 -07:00
jvanverth
17a845f760 Fix matrix similarity test on arm64
Addresses precision issue by using a simpler test.
Also fixes issues with IvMatrix::preservesRightAngles, and adds unit tests.

BUG=skia:2405
R=robertphillips@google.com, egdaniel@google.com, djsollen@google.com, reed@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/520123002
2014-09-02 13:15:41 -07:00
egdaniel
7f91c3359f Rebaseline bezier cubics
TBR=bsalomon@google.com
NOTRY=True

BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/528033002
2014-09-02 12:53:12 -07:00
reed
848250415e make allocPixels throw on failure
BUG=skia:
R=mtklein@google.com, fmalita@google.com, fmalita@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/510423005
2014-09-02 12:50:45 -07:00
mtklein
00f30bdc9e SkRecordPartialDraw with less code duplication
BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/527423002
2014-09-02 12:03:31 -07:00
piotaixr
aca21d6d2f Rename ScaledImageCache.cpp to SkResourceCacheTest.cpp
BUG=skia:
R=junov@chromium.org, reed@android.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/518213003
2014-09-02 11:51:00 -07:00
piotaixr
8159146699 Added Doc for GetAllocator in SkResourceCache and SkBitmapCache
BUG=skia:2896
R=junov@chromium.org, reed@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/533713003
2014-09-02 11:27:11 -07:00
robertphillips
98d709bc8d Reorganize Layer Hoisting code
With the new MultiPictureDraw API the GrContext will be performing the layer hoisting (instead of the SkGpuDevice). This CL being moving the layer hoisting functionality to GrLayerHoister rather then dumping it straight into GrContext.

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/531733003
2014-09-02 10:20:50 -07:00
egdaniel
842b086a3c When ignoring color input don't use vertex attribs on gpu
Also rename SolidWhite_ColorInput enum to be AllOnes_ColorInput to better reflect what it's use is

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/525433002
2014-09-02 10:01:30 -07:00
djsollen
871dca8ea9 Disable NEON procs for box blur as it produces invalid results
R=reed@google.com, mtklein@google.com, senorblanco@google.com
TBR=reed@google.com
BUG=skia:2845

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/527973002
2014-09-02 08:57:39 -07:00
egdaniel
6db9128efb Add option to add precision to varyings in shader
Also use highp varying on bezier cubics to fix numerical issues for n10 and n4.

BUG=skia:2860
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/522303004
2014-09-02 08:02:38 -07:00
bsalomon
ed82c4e822 Use non-VBO vertex arrays on QC GPUs.
BUG=skia:2901
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/529993003
2014-09-02 07:54:47 -07:00
djsollen
4d6484e764 Revert of Disable NEON procs for box blur as it produces invalid results (patchset #1 id:1 of https://codereview.chromium.org/520963002/)
Reason for revert:
failing more GMs than expected.

Original issue's description:
> Disable NEON procs for box blur as it produces invalid results
>
> BUG=skia:2845
>
> Committed: https://skia.googlesource.com/skia/+/4a1764688c990fb926aaeab538497dad52768d99

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

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/531023002
2014-09-02 06:32:26 -07:00
djsollen
4a1764688c Disable NEON procs for box blur as it produces invalid results
BUG=skia:2845
R=senorblanco@google.com, mtklein@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/520963002
2014-09-02 05:32:23 -07:00
Mike Klein
d565a9c71b whitespace change
BUG=skia:

Review URL: https://codereview.chromium.org/529973002
2014-09-02 08:04:43 -04:00