Commit Graph

9661 Commits

Author SHA1 Message Date
commit-bot@chromium.org
11e5b972a9 Add sk_float_rsqrt with SSE + NEON fast paths.
Current numbers:

N4:
running bench [640 480]      math_fastIsqrt    NONRENDERING: cmsecs =      3.12
running bench [640 480]      math_slowIsqrt    NONRENDERING: cmsecs =      4.82
running bench [640 480] math_sk_float_rsqrt    NONRENDERING: cmsecs =      1.99

Desktop:
running bench [640 480]      math_fastIsqrt    NONRENDERING: cmsecs =      0.89
running bench [640 480]      math_slowIsqrt    NONRENDERING: cmsecs =      0.94
running bench [640 480] math_sk_float_rsqrt    NONRENDERING: cmsecs =      0.09

Haven't found any other benches where this is a significant effect yet.

BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/60083014

git-svn-id: http://skia.googlecode.com/svn/trunk@12203 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:14:16 +00:00
commit-bot@chromium.org
8f457e3230 Adding error checks to SkRBuffer
BUG=
R=robertphillips@google.com, bsalomon@google.com, reed@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/61913002

git-svn-id: http://skia.googlecode.com/svn/trunk@12202 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 19:22:57 +00:00
commit-bot@chromium.org
9901727f21 Fix stale assert in GrDrawTarget::print
Fix stale assert in GrDrawTarget::print.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/66333002

git-svn-id: http://skia.googlecode.com/svn/trunk@12201 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:45:27 +00:00
caryclark@google.com
c4a4f9db6b fix compile error
git-svn-id: http://skia.googlecode.com/svn/trunk@12200 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:11:08 +00:00
caryclark@google.com
2e1b99e61f optimize floating pt, save a few instructions
git-svn-id: http://skia.googlecode.com/svn/trunk@12199 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:05:02 +00:00
scroggo@google.com
a8e33a92e2 Add ability to ninepatch blurred rounded rectangle
Speed up drawing large blurry round rectangles by converting them to
nine patches.

SkDraw:
Add drawRRect.

SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.

SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.

SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.

Depends on https://codereview.chromium.org/52703003

Tests are in https://codereview.chromium.org/52793005

BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/48623006

git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:02:53 +00:00
caryclark@google.com
1510726d60 fix line intersection
git-svn-id: http://skia.googlecode.com/svn/trunk@12197 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:00:01 +00:00
reed@google.com
b95d9f566b remove bogus assert, and remove outdated #ifdef
BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/66923002

git-svn-id: http://skia.googlecode.com/svn/trunk@12196 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 17:50:14 +00:00
epoger@google.com
61952904ae rebaseline_server: improve thread locks to allow read access during updates
(SkipBuildbotRuns)
TBR=jcgregorio

Review URL: https://codereview.chromium.org/66803004

git-svn-id: http://skia.googlecode.com/svn/trunk@12195 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 17:23:54 +00:00
senorblanco@chromium.org
4d0a4ef04f New baselines for all currently-failing tests. All of these are minor pixel diffs, except for dashcubics_gpu on Tegra, whose baseline was previously missing.
TBR=robertphillips
BUG=

Review URL: https://codereview.chromium.org/67013002

git-svn-id: http://skia.googlecode.com/svn/trunk@12194 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 16:47:01 +00:00
epoger@google.com
9dddf6f6b9 rebaseline_server: add pixel diffs, and sorting by diff metrics
(SkipBuildbotRuns)

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

Review URL: https://codereview.chromium.org/59283006

git-svn-id: http://skia.googlecode.com/svn/trunk@12193 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 16:25:25 +00:00
commit-bot@chromium.org
bc25dfc798 ARM Skia NEON patches - 31 - Xfermode: xfer16
Xfermode: xfer16

This adds support for 16bit Xfermodes. It also tunes the gcc test
macros in xfer32() to add compatibility for gcc > 4.

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

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

Author: kevin.petit.arm@gmail.com

Review URL: https://codereview.chromium.org/33063002

git-svn-id: http://skia.googlecode.com/svn/trunk@12192 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 16:16:05 +00:00
commit-bot@chromium.org
42feaaf0a5 use quads for mixed radius rrects
Create a specialized version of adding a pair of corner quads
that avoids the overhead of the full arc machinery.

This is on the way to changing Chrome to calling Skia directly to create fully general round rects rather than rolling their own.

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

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/60203002

git-svn-id: http://skia.googlecode.com/svn/trunk@12190 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 15:51:12 +00:00
commit-bot@chromium.org
c78b8f2f73 Removed unnecessary define
BUG=
R=bsalomon@google.com, sugoi@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/59033009

git-svn-id: http://skia.googlecode.com/svn/trunk@12189 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 15:24:12 +00:00
commit-bot@chromium.org
ec39b50f04 Update bleed GM to use HQ filtering.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/61133002

git-svn-id: http://skia.googlecode.com/svn/trunk@12188 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 15:09:22 +00:00
bsalomon@google.com
1b20a10f02 Revert "Do not apply hairline optimization for paths if nv_path_rendering is used"
This reverts commit r12185.

Review URL: https://codereview.chromium.org/66813002

git-svn-id: http://skia.googlecode.com/svn/trunk@12187 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 14:42:56 +00:00
skia.committer@gmail.com
ab7442c8d7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12186 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 07:01:56 +00:00
commit-bot@chromium.org
44fb865e81 Do not apply hairline optimization for paths if nv_path_rendering is used
Do not convert thin, non-hairline paths to hairline paths if
nv_path_rendering is used.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by the
path-drawing code (GrContext::drawPathInternal). Previously the
optimization was applied only when callgraph started with
SkCanvas::drawPath. This changes drawlooper_msaa4, dashing3_msaa4 and
dashing3_gpu

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/38573007

git-svn-id: http://skia.googlecode.com/svn/trunk@12185 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 06:19:34 +00:00
bsalomon@google.com
0d3341c2db Rebaseline verylargebitmap test
Review URL: https://codereview.chromium.org/60733013

git-svn-id: http://skia.googlecode.com/svn/trunk@12184 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 04:08:34 +00:00
senorblanco@chromium.org
7ef28fed13 New baselines for all imageblur-related tests.
TBR=robertphillips

Review URL: https://codereview.chromium.org/60803006

git-svn-id: http://skia.googlecode.com/svn/trunk@12183 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 02:31:52 +00:00
robertphillips@google.com
f3db546a4b Can't be leaving that crucial newline off the end of a file
git-svn-id: http://skia.googlecode.com/svn/trunk@12182 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:43:04 +00:00
robertphillips@google.com
96ac2f693b Add GM to verify removal of 32767 limit in SkBlurMaskFilter::filterRectsToNine is okay
https://codereview.chromium.org/60513013/



git-svn-id: http://skia.googlecode.com/svn/trunk@12181 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:25:21 +00:00
robertphillips@google.com
8b15717bb0 "Fix" bug in debug canvas
https://codereview.chromium.org/59073008/



git-svn-id: http://skia.googlecode.com/svn/trunk@12180 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:20:31 +00:00
edisonn@google.com
b9731e7dd5 pdfviewr: include what you use (stdio)
Review URL: https://codereview.chromium.org/64913003

git-svn-id: http://skia.googlecode.com/svn/trunk@12179 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:07:34 +00:00
commit-bot@chromium.org
d3baf20dd1 Added support for Chrome's gpu command buffer extension BindUniformLocation.
R=bsalomon@google.com, bsalomon

Author: skaslev@chromium.org

Review URL: https://codereview.chromium.org/62163004

git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:06:08 +00:00
edisonn@google.com
5e4d9819db pdfviewer: fix typos (|| instead of |)
Review URL: https://codereview.chromium.org/65263002

git-svn-id: http://skia.googlecode.com/svn/trunk@12176 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 20:33:17 +00:00
djsollen@google.com
2761b30dfe fix broken build on mac due to compiler warning
R=epoger@google.com

Review URL: https://codereview.chromium.org/64423004

git-svn-id: http://skia.googlecode.com/svn/trunk@12175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 19:40:35 +00:00
djsollen@google.com
513a7bffd3 update skpdiff visualization (image magnification with alpha mask)
R=epoger@google.com

Review URL: https://codereview.chromium.org/29103005

git-svn-id: http://skia.googlecode.com/svn/trunk@12174 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 19:24:06 +00:00
senorblanco@chromium.org
0cc00c273d Implement the y-transpose optimization in image (RGBA) blurs. This gives ~38% performance improvement on my Linux box. Also unify the box blur functions with a template.
R=mtklein@google.com, mtklein, reed@google.com

Review URL: https://codereview.chromium.org/59133006

git-svn-id: http://skia.googlecode.com/svn/trunk@12171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 18:35:12 +00:00
scroggo@google.com
a7a946a617 Fix Mac warning in PdfViewer.
Move a function only used by code guarded by #ifdef PDF_REPORT inside
guard.

R=edisonn@google.com

Review URL: https://codereview.chromium.org/60763003

git-svn-id: http://skia.googlecode.com/svn/trunk@12170 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 18:22:18 +00:00
bsalomon@google.com
d60f2c4dfb Mark Xoom scaled_tilemodes_npot GPU images as ignore
BUG=skia:1814

Review URL: https://codereview.chromium.org/61763011

git-svn-id: http://skia.googlecode.com/svn/trunk@12169 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:36:46 +00:00
commit-bot@chromium.org
eacc48978e Fix for thin filled and hairline roundrects.
The roundrect renderer was dropping into the
ConvexPathRenderer when it didn't need to -- if a stroke is
just on the edge of being acceptable it will now use the
roundrect renderer.

BUG=Skia:1802
R=robertphillips@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/59903005

git-svn-id: http://skia.googlecode.com/svn/trunk@12168 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:34:53 +00:00
reed@google.com
126f7f5244 Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.""
This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8.

BUG=

Review URL: https://codereview.chromium.org/50673005

git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:06:53 +00:00
commit-bot@chromium.org
c51808445f ARM Skia NEON patches - 33 - Convolution filter
NEON version of the convolutionProcs

The bitmap_scale benchmark is now twice as fast on ARM.

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=12154

R=djsollen@google.com, mtklein@google.com, humper@google.com, epoger@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://codereview.chromium.org/27533004

git-svn-id: http://skia.googlecode.com/svn/trunk@12166 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 15:57:32 +00:00
borenet@google.com
500db7c717 Whitespace change to trigger builds after r12163
Review URL: https://codereview.chromium.org/64283003

git-svn-id: http://skia.googlecode.com/svn/trunk@12165 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 13:43:03 +00:00
rmistry@google.com
9413493267 Whitespace change to test master responsiveness.
git-svn-id: http://skia.googlecode.com/svn/trunk@12162 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 12:18:35 +00:00
skia.committer@gmail.com
2614418aee Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12161 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 07:02:19 +00:00
epoger@google.com
3f4b72eb41 whitespace change after killing trybots
BUG=skia:1810



git-svn-id: http://skia.googlecode.com/svn/trunk@12160 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 04:22:46 +00:00
epoger@google.com
2ea6f6d8be 2nd whitespace change after git-repo filtering
BUG=skia:1808



git-svn-id: http://skia.googlecode.com/svn/trunk@12159 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 20:58:25 +00:00
epoger@google.com
b2917c7c63 Whitespace commit after git-repo filtering
BUG=skia:1808



git-svn-id: http://skia.googlecode.com/svn/trunk@12158 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 20:44:12 +00:00
vandebo@chromium.org
f8afb2bd58 Update gm flags so that it can be run without a pdf rasterizer.
BUG=1806
R=edisonn@google.com

Review URL: https://codereview.chromium.org/61643004

git-svn-id: http://skia.googlecode.com/svn/trunk@12157 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 16:32:15 +00:00
epoger@google.com
23ed4b307f Revert r12154
BUG=skia:1807



git-svn-id: http://skia.googlecode.com/svn/trunk@12156 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:49:04 +00:00
halcanary@google.com
1f0121af49 New SkRTConf macro SK_CONF_TRY_SET: no complaint on missing configuration
SK_CONF_TRY_SET() is like SK_CONF_SET(), but doesn't complain if
confname can't be found.  This is useful if the SK_CONF_DECLARE is
inside a source file whose linkage is dependent on the system.

Internally to the SkRTConf system, SkRTConfRegistry::set() was given
an additional parameter controling wanrings.

A new RuntimeConfig unit test was introduced.  It should run silently.
In the future, it should be expanded to cover all of the SkRTConf
functionality.

(For example, the images.jpeg.suppressDecoderWarnings variable is
defined and used only in SkImageDecoder_libjpeg.cpp, but on MacOS, we
use Core Graphics via SkImageDecoder_CG.cpp - SkImageDecoder_libjpeg
is never linked in.  The same is true of the Windows Imaging Component
on Windows.)

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/54503007

git-svn-id: http://skia.googlecode.com/svn/trunk@12155 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:07:44 +00:00
commit-bot@chromium.org
137577861d ARM Skia NEON patches - 33 - Convolution filter
NEON version of the convolutionProcs

The bitmap_scale benchmark is now twice as fast on ARM.

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=
R=djsollen@google.com, mtklein@google.com, humper@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://codereview.chromium.org/27533004

git-svn-id: http://skia.googlecode.com/svn/trunk@12154 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:02:46 +00:00
commit-bot@chromium.org
7507276d86 Fix installing the release build sample app apk
The android_setup.sh parses command line arguments and stores the ones
it does not use to APP_ARGS variable.

R=djsollen@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/61553002

git-svn-id: http://skia.googlecode.com/svn/trunk@12153 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:01:37 +00:00
halcanary@google.com
7a2269ea73 Fix a bug which caused crash in SkRTConfig whith string values in environment variables
A minor change to SkRTConfRegistry::parse() fixes this

BUG=skia:1717
R=scroggo@google.com

Review URL: https://codereview.chromium.org/26373008

git-svn-id: http://skia.googlecode.com/svn/trunk@12152 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 14:18:46 +00:00
commit-bot@chromium.org
c2a0ea6418 Perlin issue fixed
BUG=skia:1799
R=sugoi@chromium.org, sugoi@google.com, senorblanco@chromium.org

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/59173005

git-svn-id: http://skia.googlecode.com/svn/trunk@12150 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:38 +00:00
commit-bot@chromium.org
6e3e42296b Break up SkLazyPixelRef functionally into class hierarchy.
The reason for this CL is to allow greater decoder flexibility.
Chrome currently uses its own decoding functions.  These allow for
greater flexibility in dealing with images with multiple frames or
partial data.  The DecodeProc function was not flexible enough to
handle these.  Instead of asking the decoder to squeeze everything
into the DecodeProc, we now ask the downstream library to inherit from
SkCachingPixelRef.  If WebKit's LazyDecodingPixelRef is re-tooled to
inherit from SkCachingPixelRef, then it can make use of Skia's caching
ability while still allowing it to deal with multiple frames, scaling,
subsetting, and partial data.

-   The abstract SkCachingPixelRef class handles caching the decoded
    data in a SkScaledImageCache.  This class relies on the virtual
    functions onDecodeInfo() and onDecode() to do the actual decoding
    of data.

-   The SkLazyCachingPixelRef class is derived from SkCachingPixelRef.
    It provides an implementation of onDecodeInfo() and onDecode() in
    terms of calls to a SkBitmapFactory::DecodeProc function.  It also
    provides an Install() static method which installs a new
    SkLazyCachingPixelRef into a SkBitmap.

SkLazyCachingPixelRef exists for two reasons: to test
SkCachingPixelRef within Skia and as an example for downstream
developers to make their own classes that inherit from
SkCachingPixelRef.

-   The CachedDecodingPixelRefTest was updated to test the
    SkLazyCachingPixelRef class and indirectly the SkCachingPixelRef
    class.

BUG=
R=reed@google.com, scroggo@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/54203006

git-svn-id: http://skia.googlecode.com/svn/trunk@12149 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:30 +00:00
commit-bot@chromium.org
6006d0f8c4 Add bevel-stroke support in GrAARectRenderer
Committed: http://code.google.com/p/skia/source/detail?r=12082

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

Author: yunchao.he@intel.com

Review URL: https://codereview.chromium.org/23712005

git-svn-id: http://skia.googlecode.com/svn/trunk@12148 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:21 +00:00
skia.committer@gmail.com
382fde3a3c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12147 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 07:02:11 +00:00