platform/upstream/libSkiaSharp.git
10 years agowork in progress
halcanary [Tue, 2 Dec 2014 22:01:46 +0000 (14:01 -0800)]
work in progress

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

10 years agocheck matrix does not have rotation or perspective transformation
derekf [Tue, 2 Dec 2014 21:51:29 +0000 (13:51 -0800)]
check matrix does not have rotation or perspective transformation

When checking whether we need apply AA to a rect for non-msaa target,
simply checking that the mapped rect is integer is not enough.
We need to check whether the transformation matrix has transformations
other than simple translation.

Original-Author: Henry Song <henrysong@samsung.com>

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

10 years agoFlail a little against LLVM crash.
mtklein [Tue, 2 Dec 2014 21:17:05 +0000 (13:17 -0800)]
Flail a little against LLVM crash.

Cannot reproduce this in my local Chromium checkout (using their Clang, just like the bots).

BUG=skia:

TBR=reed@google.com

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

10 years agoimplement device::clear until we can remove callers in chrome skia/ext
reed [Tue, 2 Dec 2014 20:53:04 +0000 (12:53 -0800)]
implement device::clear until we can remove callers in chrome skia/ext

BUG=skia:
TBR=

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

10 years agobaseline colorwheelnative
halcanary [Tue, 2 Dec 2014 20:31:26 +0000 (12:31 -0800)]
baseline colorwheelnative

TBR=scroggo@google.com
NOTRY=true

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

10 years agoRemove SK_SUPPORT_DEPRECATED_SCALARROUND.
scroggo [Tue, 2 Dec 2014 20:30:38 +0000 (12:30 -0800)]
Remove SK_SUPPORT_DEPRECATED_SCALARROUND.

Our clients no longer require it.

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

10 years agorebaseline after clear change -- pdf was not treating clear as SRC_MODE
reed [Tue, 2 Dec 2014 20:21:02 +0000 (12:21 -0800)]
rebaseline after clear change -- pdf was not treating clear as SRC_MODE

BUG=skia:
NOTRY=True
TBR=

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

10 years agoAdding a PictureResolution option to SkPictureImageFilter
Justin Novosad [Tue, 2 Dec 2014 19:50:56 +0000 (14:50 -0500)]
Adding a PictureResolution option to SkPictureImageFilter

This change adds an option to SkPictureImageFilter to make it
rasterize SkPicture in a resolution that matches the local coordinate
space (equivalent to the record-time device space).

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

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

10 years agouse drawRect when drawing a bitmap with anti-aliasing on a non-msaa target
derekf [Tue, 2 Dec 2014 19:02:06 +0000 (11:02 -0800)]
use drawRect when drawing a bitmap with anti-aliasing on a non-msaa target

If the dest isn't pixel aligned, or if a non 90 degree rotation is
present, we need to use drawRect() for drawing anti-aliased bitmaps on
non-msaa targets or the edges won't be anti-aliased as intended.

Note: If the bitmap size is bigger than max texture size we fall back to drawBitmapCommon.

Original-Author: Henry Song <henrysong@samsung.com>

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

10 years agouse portable fonts
halcanary [Tue, 2 Dec 2014 19:00:40 +0000 (11:00 -0800)]
use portable fonts

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

10 years agoChange clear() to respect the clip
reed [Tue, 2 Dec 2014 18:08:11 +0000 (10:08 -0800)]
Change clear() to respect the clip

patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1)

BUG=skia:

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

10 years agoMake SkColorTable explicitly thread-safe.
mtklein [Tue, 2 Dec 2014 18:02:47 +0000 (10:02 -0800)]
Make SkColorTable explicitly thread-safe.

Mostly this means using SkLazyPtr for the 16-bit cache.
We can remove the copy constructor now and just ref it instead.

BUG=skia:

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

10 years agomove some copy surface stuff to GrFlushToGpuDrawTarget
bsalomon [Tue, 2 Dec 2014 17:40:12 +0000 (09:40 -0800)]
move some copy surface stuff to GrFlushToGpuDrawTarget

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

10 years agocolorwheelnative gm, to test that colors look right under all conditions.
halcanary [Tue, 2 Dec 2014 17:37:17 +0000 (09:37 -0800)]
colorwheelnative gm, to test that colors look right under all conditions.

Motivation: colorwheel on pdf-native (MacOS coregraphics) reverses Blue and Red.  I want to see if this has anything to do with image decoding.

BUG=skia:3184

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

10 years agoSkColorTable locking serves no purpose anymore.
mtklein [Tue, 2 Dec 2014 17:11:25 +0000 (09:11 -0800)]
SkColorTable locking serves no purpose anymore.

The only thing the unlock methods were doing was assert their balance.
This removes the unlock methods and renames the lock methods "read".

BUG=skia:

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

10 years agoRemove comment
robertphillips [Tue, 2 Dec 2014 17:00:59 +0000 (09:00 -0800)]
Remove comment

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

10 years agoskia: Prevent GL_RED from being used with MESA
hendrikw [Tue, 2 Dec 2014 15:30:30 +0000 (07:30 -0800)]
skia: Prevent GL_RED from being used with MESA

MESA unfortunately doesn't support GL_RED or GL_RG when used with frame buffers.
Don't allow fTextureRedSupport to be set when using MESA.

BUG=skia:3181

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

10 years agoupdated expectations from d476a176b774
halcanary [Tue, 2 Dec 2014 15:29:18 +0000 (07:29 -0800)]
updated expectations from d476a176b774

BUG=skia:3180
TBR=reed@google.com
NOTRY=true

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

10 years agoRemove PDF JPEG shortcut, since it fails on grayscale JPEGs.
halcanary [Tue, 2 Dec 2014 14:37:21 +0000 (06:37 -0800)]
Remove PDF JPEG shortcut, since it fails on grayscale JPEGs.

BUG=436079

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

10 years agoRemove support for OSX 10.5.
bungeman [Mon, 1 Dec 2014 23:04:53 +0000 (15:04 -0800)]
Remove support for OSX 10.5.

No user supports OSX 10.5 at this point, so remove the
last support for building there.

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

10 years agoRemove SkASSERT_CONTINUE.
bungeman [Mon, 1 Dec 2014 23:03:54 +0000 (15:03 -0800)]
Remove SkASSERT_CONTINUE.

This macro is no longer used.

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

10 years agoAdd scale and skew to C canvas API
abarth [Mon, 1 Dec 2014 22:04:03 +0000 (14:04 -0800)]
Add scale and skew to C canvas API

R=reed@chromium.org
BUG=skia:

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

10 years agoClean up FreeType library ref counting.
bungeman [Mon, 1 Dec 2014 22:01:32 +0000 (14:01 -0800)]
Clean up FreeType library ref counting.

The existing reference counting and code for LCD is difficult to
understand. This cleans it up a bit in preperation for the typefaces
holding the references and faces themselves which will clean this up
quite a bit more.

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

10 years agoadd gm to test rounding between clips and drawBitmapRect
reed [Mon, 1 Dec 2014 21:54:01 +0000 (13:54 -0800)]
add gm to test rounding between clips and drawBitmapRect

BUG=skia:3179

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

10 years agoSkDrawLooper: No need for virtual bounds computation methods.
mtklein [Mon, 1 Dec 2014 21:03:22 +0000 (13:03 -0800)]
SkDrawLooper: No need for virtual bounds computation methods.

No subclass overrides either method.

This is just warmup.  Perf is neutral.  The real meat of the time spent
is inside canComputeFastBounds / computeFastBounds, not getting to them.

BUG=skia:

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

10 years agoAdd function to return an unpremuled version of a GrColor
egdaniel [Mon, 1 Dec 2014 20:30:50 +0000 (12:30 -0800)]
Add function to return an unpremuled version of a GrColor

BUG=skia:

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

10 years agomultipage_pdf_profiler, gmtoskp
halcanary [Mon, 1 Dec 2014 20:21:25 +0000 (12:21 -0800)]
multipage_pdf_profiler, gmtoskp

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

10 years agoPre-cache local matrix type in shader constructor.
mtklein [Mon, 1 Dec 2014 20:06:24 +0000 (12:06 -0800)]
Pre-cache local matrix type in shader constructor.

TSAN points out we race when choosing our blitter without this.

BUG=437511

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

10 years agoRemove SK_SUPPORT_LEGACY_DEEPFLATTENING.
mtklein [Mon, 1 Dec 2014 19:47:08 +0000 (11:47 -0800)]
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.

This was needed for pictures before v33, and we're now requiring v35+.

Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88

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

10 years agoAdd additional clean up code in MPD path
robertphillips [Mon, 1 Dec 2014 19:39:59 +0000 (11:39 -0800)]
Add additional clean up code in MPD path

This addresses an edge case where a picture only has one layer which is atlasable but doesn't make it into the atlas. In this case asserts can fire since there is no atlased layer to clean up the tracking picture object.

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

10 years agoRemove orphaned SkImageDecoder::Target.
scroggo [Mon, 1 Dec 2014 19:35:19 +0000 (11:35 -0800)]
Remove orphaned SkImageDecoder::Target.

This was used by an experimental method on SkImageDecoder, which no
longer exists.

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

10 years agoForce SkMatrix type while recording too.
mtklein [Mon, 1 Dec 2014 19:03:37 +0000 (11:03 -0800)]
Force SkMatrix type while recording too.

This switches to a new way of doing this, enforcing the caching with the type
recorded rather than having to do it in SkRecorder.  Should be more foolproof.

Updated SkPath and SkBitmap's equivalents too.  ImmutableBitmap was close,
but using inheritance now makes the rest of the code less weird.

BUG=437511

I'm not sure whether or not this will _fix_ the SkMatrix aspect of that bug.
There may be other SkMatrices that we're racing on.  It does cover the obvious
ones, though, and removing the SkTRacy<> wrapper will allow TSAN to show
us any other races.

It turned out to be easier to turn missing optional matrices into I early rather
than late.  I figure this should be harmless.  Recording and playback perf both
look neutral.

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

10 years agoRevert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://coder...
mtklein [Mon, 1 Dec 2014 18:56:05 +0000 (10:56 -0800)]
Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/)

Reason for revert:
Breaks canary builds.  Will reland after the Chromium change lands.

Original issue's description:
> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
>
> This was needed for pictures before v33, and we're now requiring v35+.
>
> Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88

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

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

10 years agoRemove SK_SUPPORT_LEGACY_DEEPFLATTENING.
mtklein [Mon, 1 Dec 2014 18:23:11 +0000 (10:23 -0800)]
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.

This was needed for pictures before v33, and we're now requiring v35+.

Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc

BUG=skia:

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

10 years agoUse variable length key (rather than accumulated matrix) as save layer hoisting key
robertphillips [Mon, 1 Dec 2014 17:09:27 +0000 (09:09 -0800)]
Use variable length key (rather than accumulated matrix) as save layer hoisting key

Adding the rendering canvas' CTM to the layer hoisting key (i.e., Add support for hoisting layers in pictures drawn with a matrix - https://codereview.chromium.org/748853002/) has increased the cache miss rate due to accumulated floating point error. This CL fixes part of the issue by using the chain of operation indices leading to each saveLayer as the key. The canvas' CTM must still form part of the key but should be less subject to accumulated error.

BUG=skia:2315

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

10 years agoIgnore SkGlyphCache gamma for nvpr text
cdalton [Mon, 1 Dec 2014 16:57:33 +0000 (08:57 -0800)]
Ignore SkGlyphCache gamma for nvpr text

BUG=skia:

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

10 years agoAdd color emoji fallback for nvpr text
cdalton [Mon, 1 Dec 2014 16:38:55 +0000 (08:38 -0800)]
Add color emoji fallback for nvpr text

BUG=skia:

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

10 years agoAdd a base class for GrIODB that handles geometry data
bsalomon [Mon, 1 Dec 2014 16:19:34 +0000 (08:19 -0800)]
Add a base class for GrIODB that handles geometry data

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

10 years agoForce path bounds in recording.
mtklein [Mon, 1 Dec 2014 14:59:54 +0000 (06:59 -0800)]
Force path bounds in recording.

The use of SKTRacy isn't safe in SkPathRef.
There are logical dependencies between the racy fields.

Doesn't seem to affect recording performance:

$ c --match skp --config nonrendering
               tabl_techmeme.skp 81.1us ->   86us 1.06x
                 desk_mapsvg.skp 1.23ms -> 1.26ms 1.02x
           desk_yahooanswers.skp  114us ->  117us 1.02x
                tabl_sahadan.skp 70.9us ->   72us 1.02x
               desk_fontwipe.skp 31.6us ->   32us 1.01x
           tabl_cuteoverload.skp  414us ->  419us 1.01x
             desk_mobilenews.skp  503us ->  508us 1.01x
               desk_tigersvg.skp  150us ->  152us 1.01x
               desk_samoasvg.skp  608us ->  610us 1x
                   tabl_digg.skp  636us ->  638us 1x
                 tabl_pravda.skp  155us ->  156us 1x
     desk_jsfiddlehumperclip.skp 33.9us -> 33.9us 1x
      tabl_culturalsolutions.skp  295us ->  295us 1x
                desk_youtube.skp  447us ->  448us 1x
                    desk_gws.skp  144us ->  144us 1x
               tabl_frantzen.skp   42us ->   42us 1x
                  tabl_gspro.skp 50.1us ->   50us 1x
         tabl_googlecalendar.skp  165us ->  165us 1x
                desk_twitter.skp  359us ->  358us 1x
              desk_wordpress.skp  588us ->  583us 0.99x
         desk_jsfiddlebigcar.skp 32.8us -> 32.5us 0.99x
                desk_booking.skp  838us ->  827us 0.99x
          tabl_androidpolice.skp 1.42ms ->  1.4ms 0.99x
                desk_blogger.skp  378us ->  372us 0.98x
                desk_wowwiki.skp 1.11ms -> 1.09ms 0.98x
                   tabl_cnet.skp  115us ->  112us 0.97x
            desk_silkfinance.skp 57.7us -> 55.9us 0.97x
                    tabl_cnn.skp  136us ->  131us 0.97x
                 desk_sfgate.skp  396us ->  377us 0.95x
             tabl_deviantart.skp  107us ->  102us 0.95x
                tabl_mozilla.skp  1.4ms -> 1.32ms 0.94x
BUG=437511

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

10 years agoBump min picture version.
mtklein [Mon, 1 Dec 2014 14:56:38 +0000 (06:56 -0800)]
Bump min picture version.

Chrome Stable is M39, which produces picture format v35:
    https://chromium.googlesource.com/skia/+/chrome/m39/include/core/SkPicture.h

We don't need any code to deal with pictures older than v35.

(When M40 goes stable, we can step up to v37, the current latest version.)

BUG=skia:

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

10 years agoAdd extra safety check to the EGL context setup.
joakim.landberg [Mon, 1 Dec 2014 14:46:01 +0000 (06:46 -0800)]
Add extra safety check to the EGL context setup.

Adds a check to make sure eglChooseConfig actually
found a valid config. Besides checking for EGL errors,
we also have to handle the case when no matching configs
are found, i.e when num_config is 0.

BUG=skia:

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

10 years agoFix Windows SkTime version
robertphillips [Mon, 1 Dec 2014 13:55:54 +0000 (05:55 -0800)]
Fix Windows SkTime version

Windows' GetSystemTime returns months in 1-12 range (http://msdn.microsoft.com/en-us/library/aa908737.aspx) while Linux' time returns months in 0-11 range.

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

10 years agoadd clip to PictureRenderer to better mimic Chromium's rendering method
robertphillips [Fri, 28 Nov 2014 15:42:16 +0000 (07:42 -0800)]
add clip to PictureRenderer to better mimic Chromium's rendering method

Since Chromium uses separate canvases when rendering tiles they get an implicit clip. This adds an explicit clip since the PictureRenderer reuses the same canvas.

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

10 years agoAdd float-to-half (binary16) conversion functions.
jvanverth [Wed, 26 Nov 2014 21:15:59 +0000 (13:15 -0800)]
Add float-to-half (binary16) conversion functions.

Based on code by Fabian Giesen at
https://fgiesen.wordpress.com/2012/03/28/half-to-float-done-quic/.

These will be needed for creating binary16 textures from floating point data.

BUG=skia:3103

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

10 years agoMake skia trace category disabled by default.
danakj [Wed, 26 Nov 2014 20:41:06 +0000 (12:41 -0800)]
Make skia trace category disabled by default.

BUG=skia:3088

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

10 years agosome cleanup around GrGpu/GrDrawTarget copySurface
bsalomon [Wed, 26 Nov 2014 20:28:00 +0000 (12:28 -0800)]
some cleanup around GrGpu/GrDrawTarget copySurface

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

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

10 years agoFix assert in GrMaskFormatBytesPerPixel.
jvanverth [Wed, 26 Nov 2014 20:07:33 +0000 (12:07 -0800)]
Fix assert in GrMaskFormatBytesPerPixel.

BUG=skia:3174

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

10 years agoRevert of some cleanup around GrGpu/GrDrawTarget copySurface (patchset #3 id:40001...
bsalomon [Wed, 26 Nov 2014 18:20:45 +0000 (10:20 -0800)]
Revert of some cleanup around GrGpu/GrDrawTarget copySurface (patchset #3 id:40001 of https://codereview.chromium.org/749903003/)

Reason for revert:
likely causing es rendering errors.

Original issue's description:
> some cleanup around GrGpu/GrDrawTarget copySurface
>
> Committed: https://skia.googlesource.com/skia/+/e9aa5dc4d5906788eaf691d7c69f1494928f401d

TBR=joshualitt@google.com
NOTREECHECKS=true
NOTRY=true

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

10 years agoadd basic tests for save/restore counting
reed [Wed, 26 Nov 2014 16:55:51 +0000 (08:55 -0800)]
add basic tests for save/restore counting

BUG=skia:

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

10 years agoUpdate effect key for descriptor to not record offsets.
egdaniel [Wed, 26 Nov 2014 16:50:50 +0000 (08:50 -0800)]
Update effect key for descriptor to not record offsets.

BUG=skia:

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

10 years agorename SkDrawable to SkADrawable
reed [Wed, 26 Nov 2014 16:50:45 +0000 (08:50 -0800)]
rename SkDrawable to SkADrawable

BUG=skia:

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

10 years agoadd sample to exercising hittesting
reed [Wed, 26 Nov 2014 16:45:36 +0000 (08:45 -0800)]
add sample to exercising hittesting

patch from issue 752403002 at patchset 1 (http://crrev.com/752403002#ps1)

BUG=skia:

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

10 years agosome cleanup around GrGpu/GrDrawTarget copySurface
bsalomon [Wed, 26 Nov 2014 16:45:30 +0000 (08:45 -0800)]
some cleanup around GrGpu/GrDrawTarget copySurface

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

10 years agoFix early out in GrResourceCache2::purgeAsNeeded
bsalomon [Wed, 26 Nov 2014 14:06:02 +0000 (06:06 -0800)]
Fix early out in GrResourceCache2::purgeAsNeeded

BUG=chromium:436846
TBR=robertphillips@google.com

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

10 years agoRevert of nanobench: lazily decode bitmaps in .skps. (patchset #1 id:1 of https:...
mtklein [Tue, 25 Nov 2014 22:57:26 +0000 (14:57 -0800)]
Revert of nanobench: lazily decode bitmaps in .skps. (patchset #1 id:1 of https://codereview.chromium.org/743613005/)

Reason for revert:
Some bots crashing.

Original issue's description:
> nanobench: lazily decode bitmaps in .skps.
>
> This cuts down on tool overhead when running something like recording only,
>     $ out/Release/nanobench --match skp --config nonrendering
> which doesn't usually ever need to decode the images.
>
> The actual measurements for recording don't change, as the decode is not in the timed section.  It just skips irrelevant code, removing it from the profile and making the tool run faster.
>
> This does, however, make a significant difference for playback speed.  Most skps draw faster with this patch, some slower.  I don't really have a good intuition for what's going on here.  There is a fixed clip acting as a viewport, so there are probably lots of images that don't ever need to be decoded.  Ideas?  Is this perhaps because we're now blitting from smaller, partially decoded source images?
>
> ~/skia (clean) $ compare clean.log lazy-decode-bitmaps.log
>                    tabl_slashdot.skp_1 2.76ms -> 4.33ms 1.57x
>                tabl_slashdot.skp_1_mpd 2.79ms -> 4.07ms 1.46x
>                     tabl_sahadan.skp_1 3.41ms -> 4.87ms 1.43x
>                  tabl_googleblog.skp_1 1.52ms -> 2.05ms 1.35x
>                tabl_techmeme.skp_1_mpd 1.14ms -> 1.51ms 1.32x
>                tabl_transformice.skp_1 2.61ms -> 3.43ms 1.31x
>                 tabl_sahadan.skp_1_mpd 3.54ms -> 4.48ms 1.26x
>                    tabl_techmeme.skp_1 1.01ms -> 1.27ms 1.26x
>                 tabl_nytimes.skp_1_mpd    1ms -> 1.23ms 1.23x
>            tabl_worldjournal.skp_1_mpd 1.98ms -> 2.43ms 1.23x
>                  tabl_pravda.skp_1_mpd 2.05ms -> 2.51ms 1.22x
>            tabl_transformice.skp_1_mpd 2.75ms -> 3.19ms 1.16x
>                     tabl_nytimes.skp_1  874us -> 1.01ms 1.15x
>                      tabl_pravda.skp_1 1.83ms -> 1.99ms 1.09x
>                tabl_worldjournal.skp_1 1.76ms -> 1.91ms 1.09x
>                 desk_wowwiki.skp_1_mpd  3.7ms ->  3.9ms 1.05x
>                        tabl_digg.skp_1 3.99ms -> 4.16ms 1.04x
>                   tabl_ukwsj.skp_1_mpd    3ms -> 3.12ms 1.04x
>                     desk_booking.skp_1 3.74ms -> 3.81ms 1.02x
>     desk_googlespreadsheetdashed.skp_1 10.6ms -> 10.6ms 1x
>                       tabl_ukwsj.skp_1 2.88ms -> 2.89ms 1x
> desk_googlespreadsheetdashed.skp_1_mpd 11.8ms -> 11.8ms 1x
>      desk_jsfiddlehumperclip.skp_1_mpd  891us ->  888us 1x
>           desk_googlespreadsheet.skp_1 4.65ms -> 4.62ms 0.99x
>                   tabl_gspro.skp_1_mpd 1.97ms -> 1.94ms 0.99x
>                 desk_booking.skp_1_mpd  4.1ms ->    4ms 0.98x
>                      desk_carsvg.skp_1 18.2ms -> 17.7ms 0.97x
>             desk_gmailthread.skp_1_mpd 2.81ms -> 2.73ms 0.97x
>                desk_tigersvg.skp_1_mpd 19.5ms -> 18.9ms 0.97x
>                      desk_mapsvg.skp_1 88.4ms -> 85.6ms 0.97x
>                    tabl_cnet.skp_1_mpd 1.43ms -> 1.38ms 0.97x
>              desk_jsfiddlebigcar.skp_1 1.26ms -> 1.22ms 0.96x
>                         desk_gws.skp_1 1.87ms ->  1.8ms 0.96x
>                    desk_linkedin.skp_1 2.07ms -> 1.98ms 0.96x
>              tabl_deviantart.skp_1_mpd  118ms ->  113ms 0.96x
>                        tabl_cnet.skp_1  1.2ms -> 1.14ms 0.95x
>           tabl_androidpolice.skp_1_mpd 5.95ms -> 5.63ms 0.95x
>                      desk_sfgate.skp_1 1.75ms -> 1.64ms 0.94x
>                     desk_twitter.skp_1   74ms -> 69.6ms 0.94x
>                 desk_youtube.skp_1_mpd 3.17ms -> 2.96ms 0.93x
>                 desk_gmailthread.skp_1 2.73ms -> 2.54ms 0.93x
>             desk_silkfinance.skp_1_mpd 1.71ms -> 1.59ms 0.93x
>          desk_jsfiddlebigcar.skp_1_mpd 1.45ms -> 1.35ms 0.93x
>             desk_pokemonwiki.skp_1_mpd 2.72ms -> 2.51ms 0.92x
>                     desk_gws.skp_1_mpd 2.14ms -> 1.98ms 0.92x
>                  desk_googlehome.skp_1  563us ->  517us 0.92x
>                        desk_espn.skp_1 4.24ms -> 3.89ms 0.92x
>           tabl_culturalsolutions.skp_1 12.7ms -> 11.6ms 0.91x
>                  desk_sfgate.skp_1_mpd 1.91ms -> 1.74ms 0.91x
>                        tabl_hsfi.skp_1 1.06ms ->  966us 0.91x
>                desk_samoasvg.skp_1_mpd 10.5ms -> 9.47ms 0.91x
>                desk_facebook.skp_1_mpd  3.8ms -> 3.43ms 0.9x
>                     desk_youtube.skp_1 3.52ms -> 3.14ms 0.89x
>                    desk_ebay.skp_1_mpd 2.95ms -> 2.62ms 0.89x
>                    desk_samoasvg.skp_1 10.9ms -> 9.66ms 0.89x
>       desk_googlespreadsheet.skp_1_mpd 5.59ms -> 4.94ms 0.88x
>                  desk_mapsvg.skp_1_mpd  100ms -> 87.9ms 0.88x
>                    desk_espn.skp_1_mpd  4.7ms -> 4.12ms 0.88x
>               desk_wordpress.skp_1_mpd 1.92ms -> 1.68ms 0.87x
>                  tabl_deviantart.skp_1  140ms ->  122ms 0.87x
>            tabl_cuteoverload.skp_1_mpd 4.41ms -> 3.83ms 0.87x
>                    desk_tigersvg.skp_1 19.6ms ->   17ms 0.87x
>              tabl_googlecalendar.skp_1 4.01ms -> 3.44ms 0.86x
>                     desk_blogger.skp_1 2.49ms -> 2.14ms 0.86x
>              desk_chalkboard.skp_1_mpd 52.7ms ->   45ms 0.85x
>                     desk_weather.skp_1 2.88ms -> 2.46ms 0.85x
>                  desk_chalkboard.skp_1   51ms -> 43.4ms 0.85x
>                desk_yahooanswers.skp_1 2.74ms -> 2.32ms 0.85x
>              desk_forecastio.skp_1_mpd 1.26ms -> 1.07ms 0.85x
>               tabl_androidpolice.skp_1 5.18ms -> 4.34ms 0.84x
>            desk_yahooanswers.skp_1_mpd 3.44ms -> 2.85ms 0.83x
>                     tabl_cnn.skp_1_mpd 2.59ms -> 2.15ms 0.83x
>                   desk_pinterest.skp_1 2.69ms -> 2.22ms 0.83x
>                    tabl_hsfi.skp_1_mpd  1.6ms -> 1.32ms 0.82x
>       tabl_culturalsolutions.skp_1_mpd 13.8ms -> 11.3ms 0.82x
>                 desk_twitter.skp_1_mpd 76.6ms ->   63ms 0.82x
>                        desk_ebay.skp_1 3.11ms -> 2.51ms 0.81x
>                     tabl_mlb.skp_1_mpd 3.17ms -> 2.53ms 0.8x
>                     tabl_mozilla.skp_1 2.42ms -> 1.91ms 0.79x
>                 desk_pokemonwiki.skp_1 2.84ms -> 2.22ms 0.78x
>                  desk_carsvg.skp_1_mpd 23.3ms -> 17.8ms 0.77x
>                     desk_wowwiki.skp_1 4.21ms -> 3.21ms 0.76x
>                      desk_amazon.skp_1  963us ->  728us 0.76x
>               desk_css3gradients.skp_1 2.58ms -> 1.92ms 0.74x
>                tabl_cuteoverload.skp_1 4.55ms -> 3.38ms 0.74x
>                         tabl_cnn.skp_1 3.13ms -> 2.29ms 0.73x
>              tabl_googleblog.skp_1_mpd 2.32ms ->  1.7ms 0.73x
>                  desk_mobilenews.skp_1 3.65ms -> 2.61ms 0.71x
>                  desk_googleplus.skp_1 3.76ms -> 2.66ms 0.71x
>                 tabl_mozilla.skp_1_mpd 2.88ms -> 2.03ms 0.71x
>               desk_pinterest.skp_1_mpd 3.17ms -> 2.21ms 0.7x
>           desk_css3gradients.skp_1_mpd 2.98ms -> 2.07ms 0.69x
>                 desk_silkfinance.skp_1 2.06ms -> 1.42ms 0.69x
>                    desk_facebook.skp_1  4.5ms -> 3.07ms 0.68x
>              desk_mobilenews.skp_1_mpd 4.05ms -> 2.73ms 0.68x
>                   desk_baidu.skp_1_mpd 2.73ms -> 1.81ms 0.66x
>                 desk_weather.skp_1_mpd 3.93ms ->  2.5ms 0.64x
>                   desk_wordpress.skp_1 2.15ms -> 1.36ms 0.63x
>              desk_googlehome.skp_1_mpd 1.02ms ->  605us 0.59x
>                    desk_fontwipe.skp_1  722us ->  402us 0.56x
>                desk_fontwipe.skp_1_mpd  897us ->  486us 0.54x
>                       desk_baidu.skp_1 3.02ms ->  1.6ms 0.53x
>                  desk_forecastio.skp_1 2.01ms ->  999us 0.5x
>                  desk_amazon.skp_1_mpd 1.77ms ->  860us 0.49x
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7e225bdb1f00ae4aed524ff8d0a61df3d3abb109

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

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

10 years agoremove proc key
joshualitt [Tue, 25 Nov 2014 22:52:21 +0000 (14:52 -0800)]
remove proc key

BUG=skia:

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

10 years agonanobench: lazily decode bitmaps in .skps.
mtklein [Tue, 25 Nov 2014 22:34:03 +0000 (14:34 -0800)]
nanobench: lazily decode bitmaps in .skps.

This cuts down on tool overhead when running something like recording only,
    $ out/Release/nanobench --match skp --config nonrendering
which doesn't usually ever need to decode the images.

The actual measurements for recording don't change, as the decode is not in the timed section.  It just skips irrelevant code, removing it from the profile and making the tool run faster.

This does, however, make a significant difference for playback speed.  Most skps draw faster with this patch, some slower.  I don't really have a good intuition for what's going on here.  There is a fixed clip acting as a viewport, so there are probably lots of images that don't ever need to be decoded.  Ideas?  Is this perhaps because we're now blitting from smaller, partially decoded source images?

~/skia (clean) $ compare clean.log lazy-decode-bitmaps.log
                   tabl_slashdot.skp_1 2.76ms -> 4.33ms 1.57x
               tabl_slashdot.skp_1_mpd 2.79ms -> 4.07ms 1.46x
                    tabl_sahadan.skp_1 3.41ms -> 4.87ms 1.43x
                 tabl_googleblog.skp_1 1.52ms -> 2.05ms 1.35x
               tabl_techmeme.skp_1_mpd 1.14ms -> 1.51ms 1.32x
               tabl_transformice.skp_1 2.61ms -> 3.43ms 1.31x
                tabl_sahadan.skp_1_mpd 3.54ms -> 4.48ms 1.26x
                   tabl_techmeme.skp_1 1.01ms -> 1.27ms 1.26x
                tabl_nytimes.skp_1_mpd    1ms -> 1.23ms 1.23x
           tabl_worldjournal.skp_1_mpd 1.98ms -> 2.43ms 1.23x
                 tabl_pravda.skp_1_mpd 2.05ms -> 2.51ms 1.22x
           tabl_transformice.skp_1_mpd 2.75ms -> 3.19ms 1.16x
                    tabl_nytimes.skp_1  874us -> 1.01ms 1.15x
                     tabl_pravda.skp_1 1.83ms -> 1.99ms 1.09x
               tabl_worldjournal.skp_1 1.76ms -> 1.91ms 1.09x
                desk_wowwiki.skp_1_mpd  3.7ms ->  3.9ms 1.05x
                       tabl_digg.skp_1 3.99ms -> 4.16ms 1.04x
                  tabl_ukwsj.skp_1_mpd    3ms -> 3.12ms 1.04x
                    desk_booking.skp_1 3.74ms -> 3.81ms 1.02x
    desk_googlespreadsheetdashed.skp_1 10.6ms -> 10.6ms 1x
                      tabl_ukwsj.skp_1 2.88ms -> 2.89ms 1x
desk_googlespreadsheetdashed.skp_1_mpd 11.8ms -> 11.8ms 1x
     desk_jsfiddlehumperclip.skp_1_mpd  891us ->  888us 1x
          desk_googlespreadsheet.skp_1 4.65ms -> 4.62ms 0.99x
                  tabl_gspro.skp_1_mpd 1.97ms -> 1.94ms 0.99x
                desk_booking.skp_1_mpd  4.1ms ->    4ms 0.98x
                     desk_carsvg.skp_1 18.2ms -> 17.7ms 0.97x
            desk_gmailthread.skp_1_mpd 2.81ms -> 2.73ms 0.97x
               desk_tigersvg.skp_1_mpd 19.5ms -> 18.9ms 0.97x
                     desk_mapsvg.skp_1 88.4ms -> 85.6ms 0.97x
                   tabl_cnet.skp_1_mpd 1.43ms -> 1.38ms 0.97x
             desk_jsfiddlebigcar.skp_1 1.26ms -> 1.22ms 0.96x
                        desk_gws.skp_1 1.87ms ->  1.8ms 0.96x
                   desk_linkedin.skp_1 2.07ms -> 1.98ms 0.96x
             tabl_deviantart.skp_1_mpd  118ms ->  113ms 0.96x
                       tabl_cnet.skp_1  1.2ms -> 1.14ms 0.95x
          tabl_androidpolice.skp_1_mpd 5.95ms -> 5.63ms 0.95x
                     desk_sfgate.skp_1 1.75ms -> 1.64ms 0.94x
                    desk_twitter.skp_1   74ms -> 69.6ms 0.94x
                desk_youtube.skp_1_mpd 3.17ms -> 2.96ms 0.93x
                desk_gmailthread.skp_1 2.73ms -> 2.54ms 0.93x
            desk_silkfinance.skp_1_mpd 1.71ms -> 1.59ms 0.93x
         desk_jsfiddlebigcar.skp_1_mpd 1.45ms -> 1.35ms 0.93x
            desk_pokemonwiki.skp_1_mpd 2.72ms -> 2.51ms 0.92x
                    desk_gws.skp_1_mpd 2.14ms -> 1.98ms 0.92x
                 desk_googlehome.skp_1  563us ->  517us 0.92x
                       desk_espn.skp_1 4.24ms -> 3.89ms 0.92x
          tabl_culturalsolutions.skp_1 12.7ms -> 11.6ms 0.91x
                 desk_sfgate.skp_1_mpd 1.91ms -> 1.74ms 0.91x
                       tabl_hsfi.skp_1 1.06ms ->  966us 0.91x
               desk_samoasvg.skp_1_mpd 10.5ms -> 9.47ms 0.91x
               desk_facebook.skp_1_mpd  3.8ms -> 3.43ms 0.9x
                    desk_youtube.skp_1 3.52ms -> 3.14ms 0.89x
                   desk_ebay.skp_1_mpd 2.95ms -> 2.62ms 0.89x
                   desk_samoasvg.skp_1 10.9ms -> 9.66ms 0.89x
      desk_googlespreadsheet.skp_1_mpd 5.59ms -> 4.94ms 0.88x
                 desk_mapsvg.skp_1_mpd  100ms -> 87.9ms 0.88x
                   desk_espn.skp_1_mpd  4.7ms -> 4.12ms 0.88x
              desk_wordpress.skp_1_mpd 1.92ms -> 1.68ms 0.87x
                 tabl_deviantart.skp_1  140ms ->  122ms 0.87x
           tabl_cuteoverload.skp_1_mpd 4.41ms -> 3.83ms 0.87x
                   desk_tigersvg.skp_1 19.6ms ->   17ms 0.87x
             tabl_googlecalendar.skp_1 4.01ms -> 3.44ms 0.86x
                    desk_blogger.skp_1 2.49ms -> 2.14ms 0.86x
             desk_chalkboard.skp_1_mpd 52.7ms ->   45ms 0.85x
                    desk_weather.skp_1 2.88ms -> 2.46ms 0.85x
                 desk_chalkboard.skp_1   51ms -> 43.4ms 0.85x
               desk_yahooanswers.skp_1 2.74ms -> 2.32ms 0.85x
             desk_forecastio.skp_1_mpd 1.26ms -> 1.07ms 0.85x
              tabl_androidpolice.skp_1 5.18ms -> 4.34ms 0.84x
           desk_yahooanswers.skp_1_mpd 3.44ms -> 2.85ms 0.83x
                    tabl_cnn.skp_1_mpd 2.59ms -> 2.15ms 0.83x
                  desk_pinterest.skp_1 2.69ms -> 2.22ms 0.83x
                   tabl_hsfi.skp_1_mpd  1.6ms -> 1.32ms 0.82x
      tabl_culturalsolutions.skp_1_mpd 13.8ms -> 11.3ms 0.82x
                desk_twitter.skp_1_mpd 76.6ms ->   63ms 0.82x
                       desk_ebay.skp_1 3.11ms -> 2.51ms 0.81x
                    tabl_mlb.skp_1_mpd 3.17ms -> 2.53ms 0.8x
                    tabl_mozilla.skp_1 2.42ms -> 1.91ms 0.79x
                desk_pokemonwiki.skp_1 2.84ms -> 2.22ms 0.78x
                 desk_carsvg.skp_1_mpd 23.3ms -> 17.8ms 0.77x
                    desk_wowwiki.skp_1 4.21ms -> 3.21ms 0.76x
                     desk_amazon.skp_1  963us ->  728us 0.76x
              desk_css3gradients.skp_1 2.58ms -> 1.92ms 0.74x
               tabl_cuteoverload.skp_1 4.55ms -> 3.38ms 0.74x
                        tabl_cnn.skp_1 3.13ms -> 2.29ms 0.73x
             tabl_googleblog.skp_1_mpd 2.32ms ->  1.7ms 0.73x
                 desk_mobilenews.skp_1 3.65ms -> 2.61ms 0.71x
                 desk_googleplus.skp_1 3.76ms -> 2.66ms 0.71x
                tabl_mozilla.skp_1_mpd 2.88ms -> 2.03ms 0.71x
              desk_pinterest.skp_1_mpd 3.17ms -> 2.21ms 0.7x
          desk_css3gradients.skp_1_mpd 2.98ms -> 2.07ms 0.69x
                desk_silkfinance.skp_1 2.06ms -> 1.42ms 0.69x
                   desk_facebook.skp_1  4.5ms -> 3.07ms 0.68x
             desk_mobilenews.skp_1_mpd 4.05ms -> 2.73ms 0.68x
                  desk_baidu.skp_1_mpd 2.73ms -> 1.81ms 0.66x
                desk_weather.skp_1_mpd 3.93ms ->  2.5ms 0.64x
                  desk_wordpress.skp_1 2.15ms -> 1.36ms 0.63x
             desk_googlehome.skp_1_mpd 1.02ms ->  605us 0.59x
                   desk_fontwipe.skp_1  722us ->  402us 0.56x
               desk_fontwipe.skp_1_mpd  897us ->  486us 0.54x
                      desk_baidu.skp_1 3.02ms ->  1.6ms 0.53x
                 desk_forecastio.skp_1 2.01ms ->  999us 0.5x
                 desk_amazon.skp_1_mpd 1.77ms ->  860us 0.49x

BUG=skia:

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

10 years agoremove one place we read from gpu key in effects
joshualitt [Tue, 25 Nov 2014 22:21:55 +0000 (14:21 -0800)]
remove one place we read from gpu key in effects

BUG=skia:

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

10 years agoAdd an Android-framework-only stable ID to SkPixelRef.
scroggo [Tue, 25 Nov 2014 21:42:12 +0000 (13:42 -0800)]
Add an Android-framework-only stable ID to SkPixelRef.

BUG:b/18245805

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

10 years agoAdd IndexType parameter to GrDrawTarget::drawPaths
cdalton [Tue, 25 Nov 2014 19:00:56 +0000 (11:00 -0800)]
Add IndexType parameter to GrDrawTarget::drawPaths

Allows the caller to decide whether they sent 8, 16, or 32 bit path
indices.

BUG=skia:

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

10 years agoSk4x_sse.h
mtklein [Tue, 25 Nov 2014 19:00:38 +0000 (11:00 -0800)]
Sk4x_sse.h

CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release-Trybot,Test-Mac10.7-MacMini4.1-GeForce320M-x86_64-Release-Trybot,Test-Win7-ShuttleA-HD2000-x86-Debug-GDI-Trybot

BUG=skia:

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

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

10 years agoUpdate invariant output computation for various texture effects.
egdaniel [Tue, 25 Nov 2014 18:24:56 +0000 (10:24 -0800)]
Update invariant output computation for various texture effects.

Update various effects that read in textures to check whether or not the texture is alpha only.
This allows us to use a more specific mulByUnKnownAlpha instead of the more general mulByUnknownColor

BUG=skia:

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

10 years agoRemove unnessary check to skip drawing.
egdaniel [Tue, 25 Nov 2014 18:08:33 +0000 (10:08 -0800)]
Remove unnessary check to skip drawing.

This is now checked during the OptDrawStates creation and thus is no longer needed here.
I have varified that this code path is never hit.

BUG=skia:

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

10 years agoEliminate static initializers in SkColor_SSE2.h.
mtklein [Tue, 25 Nov 2014 18:05:43 +0000 (10:05 -0800)]
Eliminate static initializers in SkColor_SSE2.h.

Chrome hates static initializers.

Two global masks can become a single local mask instead.  Perf looks like a no-op:

$ c --match bitmaprect_80 bitmap_RGBA --config 8888
                              bitmap_RGBA_8888_scale 13.7us -> 14.1us 1.03x
                    bitmap_RGBA_8888_update_volatile 4.53us ->  4.6us 1.02x
                                    bitmap_RGBA_8888 4.55us -> 4.61us 1.01x
                             bitmap_RGBA_8888_update 4.64us -> 4.67us 1.01x
             bitmap_RGBA_8888_A_source_stripes_three 9.66us -> 9.71us 1.01x
                       bitmaprect_80_filter_identity 10.6us -> 10.5us 0.99x
                     bitmaprect_80_nofilter_identity 10.5us -> 10.4us 0.99x

TBR=reed@google.com
BUG=skia:

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

10 years agofix for the msvs gyp generator that produces nonposix path separators
djsollen [Tue, 25 Nov 2014 16:25:29 +0000 (08:25 -0800)]
fix for the msvs gyp generator that produces nonposix path separators

BUG=skia:3139

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

10 years agoUse text size on Mac.
bungeman [Tue, 25 Nov 2014 16:08:09 +0000 (08:08 -0800)]
Use text size on Mac.

The current code assumes that text on Mac is freely scalable,
or at least that the text size is just a part of the transform.
However, it appears that application of the 'trak' table,
as well as other optical adjustments, may rely on the text size
directly.

This change passes the text size requested directly to CoreText.

BUG=chromium:427528

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

10 years agoRemove GrSurface::isSameAs
bsalomon [Tue, 25 Nov 2014 15:41:12 +0000 (07:41 -0800)]
Remove GrSurface::isSameAs

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

10 years agoRebaselines
robertphillips [Tue, 25 Nov 2014 15:38:46 +0000 (07:38 -0800)]
Rebaselines

This CL rebaselines:

Two GMs from https://codereview.chromium.org/748853002 (Add support for hoisting layers in pictures drawn with a matrix) which are only now showing up:

S4 Debug multipicturedraw_invpathclip_tiled_gpu
S4 Debug multipicturedraw_pathclip_tiled_gpu

Two GMs most likely from https://codereview.chromium.org/747043004 (Use scratch keys for stencil buffers):

Win8 Debug dashing2_nvprmsaa4
Win8 Debug glyph_pos_n_b_msaa16

Note that the dashing2 difference fixes an erroneously set pixel in the expected.

TBR=bsalomon@google.com, tomhudson@google.com

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

10 years agoRevert of Blink hasn't rolled yet, better. (patchset #1 id:1 of https://codereview...
mtklein [Tue, 25 Nov 2014 15:30:19 +0000 (07:30 -0800)]
Revert of Blink hasn't rolled yet, better. (patchset #1 id:1 of https://codereview.chromium.org/758693002/)

Reason for revert:
Try again, for real.

Original issue's description:
> Blink hasn't rolled yet, better.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/89ff0846fd9dacf5f081373746624d450a5f8c26

TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

10 years agoOptimize highQualityFilter
qiankun.miao [Tue, 25 Nov 2014 15:12:27 +0000 (07:12 -0800)]
Optimize highQualityFilter

portable version:
before:
  10M   1       806µs   807µs   810µs   821µs   1%      █▂▁▁▃▁▁▁█▁ 8888    bitmap_BGRA_8888_A_scale_rotate_bicubic
after:
  10M   1       566µs   568µs   569µs   579µs   1%      ▄▂▂█▂▁▁▁▃▁ 8888    bitmap_BGRA_8888_A_scale_rotate_bicubic

SSE version:
before:
  10M   1       485µs   486µs   487µs   494µs   1%      ▇▂▁▁▁▁█▂▁▁ 8888    bitmap_BGRA_8888_A_scale_rotate_bicubic
after:
  10M   1       419µs   420µs   421µs   430µs   1%      ▅▃▂▁▁█▂▁▁▁ 8888    bitmap_BGRA_8888_A_scale_rotate_bicubic

BUG=skia:

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

10 years agoAdd SkBlendARGB32_SSE2() to clean up code
qiankun.miao [Tue, 25 Nov 2014 14:35:02 +0000 (06:35 -0800)]
Add SkBlendARGB32_SSE2() to clean up code

Related nanobench results:
before:
maxrss  loops   min     median  mean    max     stddev  samples         config  bench
  10M   2       31.9µs  32.4µs  33.3µs  38.7µs  6%      █▄▂▂▂▁▂▁▁▁      8888    bitmap_BGRA_8888_A_scale_bicubic
  10M   13      43.8µs  51.8µs  49.6µs  57.9µs  11%     ▁▁▁▁▂▆▇▆▅█      8888    bitmap_BGRA_8888_A_scale_bilerp
  10M   13      23.7µs  24.3µs  26µs    32.7µs  13%     ▅█▆▁▁▁▁▂▁▁      8888    bitmap_Index_8_A
  10M   4       1.68µs  1.7µs   4.09µs  25.4µs  183%    █▁▁▁▁▁▁▁▁▁      8888    text_16_AA_88
  10M   144     1.76µs  1.77µs  1.78µs  1.81µs  1%      █▂▇▂▅▁▁▁▁▁      8888    text_16_AA_FF
  10M   10      4.7µs   5.34µs  5.61µs  8.63µs  21%     █▂▂▃▂▁▁▁▁▄      8888    rotated_rects_aa_alternating_transparent_and_opaque_src
  10M   50      4.44µs  4.47µs  4.5µs   4.71µs  2%      █▅▃▂▂▂▁▁▁▁      8888    rotated_rects_aa_changing_opaque_src
  10M   51      4.39µs  4.78µs  5.21µs  6.62µs  17%     ▁▆▆▇▁▁█▁▂▂      8888    rotated_rects_aa_same_opaque_src
  10M   50      4.47µs  5.79µs  5.43µs  6.14µs  11%     ▄▂▁▃▇▇▆▇▇█      8888    rotated_rects_aa_alternating_transparent_and_opaque_srcover
  10M   30      4.35µs  6.06µs  5.84µs  7.63µs  16%     ▅▅▅▄▅▅▄█▁▁      8888    rotated_rects_aa_changing_transparent_srcover
  10M   44      4.31µs  4.51µs  4.76µs  6.25µs  13%     ▄▂▂▁█▃▁▃▁▁      8888    rotated_rects_aa_changing_opaque_srcover
  10M   46      4.36µs  4.42µs  4.75µs  6.19µs  14%     ▆█▃▁▁▁▁▁▁▁      8888    rotated_rects_aa_same_transparent_srcover
  10M   47      4.29µs  4.35µs  4.44µs  5.15µs  6%      ▃▂▂▁▁█▁▁▁▁      8888    rotated_rects_aa_same_opaque_srcover
  10M   3       39.1µs  39.2µs  50.7µs  153µs   71%     █▁▁▁▁▁▁▁▁▁      8888    rectori
  10M   1       2.3ms   2.31ms  2.35ms  2.74ms  6%      ▁▁▁▁▁▁▁▁█▂      8888    maskcolor
  10M   1       2.33ms  2.34ms  2.53ms  3.14ms  11%     ▁▁▁▁▁▁▅█▄▄      8888    maskopaque
  10M   11      15µs    15.3µs  15.7µs  18.3µs  7%      ▅▃▂▂▁▁▁▁█▁      8888    rrects_3_stroke_4
  10M   46      3.99µs  4.07µs  4.14µs  4.54µs  4%      █▅▅▃▂▂▁▁▁▁      8888    rrects_3
  10M   16      15.6µs  15.9µs  16.1µs  17.5µs  4%      █▄▃▂▂▂▁▂▁▁      8888    ovals_3_stroke_4
  10M   40      5.09µs  5.18µs  5.23µs  5.67µs  3%      █▅▃▂▂▁▃▁▁▁      8888    ovals_3
  10M   231     1.92µs  1.93µs  1.94µs  2µs     1%      █▃▂▁▃▁▁▁▁▁      8888    zeroradroundrect
  10M   924     3.88µs  3.93µs  4.11µs  4.95µs  9%      ▁█▆▃▁▁▁▁▁▁      8888    arbroundrect
  10M   8       8.11µs  8.47µs  8.48µs  8.85µs  3%      █▅▇▄▄▂▁▄▄▆      8888    merge_large
  10M   14      6.71µs  6.92µs  6.96µs  7.46µs  3%      ▃▆▁█▃▃▃▂▂▁      8888    merge_small
  11M   2       225µs   227µs   229µs   233µs   1%      ███▃▇▂▃▁▃▂      8888    displacement_full_large
  16M   1       381µs   401µs   401µs   421µs   3%      ▅▅▅█▆▄▄▃▃▁      8888    displacement_alpha_large
  19M   1       507µs   508µs   509µs   512µs   0%      █▃▂▆▂▂▃▂▃▁      8888    displacement_zero_large
  19M   19      9µs     9.11µs  9.15µs  9.67µs  2%      ▄▂▂▂█▂▁▁▁▂      8888    displacement_full_small
  19M   5       54.2µs  54.5µs  54.9µs  58µs    2%      █▃▂▂▁▁▃▁▁▁      8888    blurroundrect_WH[100x100]_cr[90]
  20M   1       229µs   230µs   231µs   240µs   2%      █▄▃▂▂▁▁▁▁▂      8888    GM_varied_text_clipped_no_lcd
  20M   1       267µs   269µs   270µs   279µs   1%      █▄▃▂▂▂▂▂▁▁      8888    GM_varied_text_ignorable_clip_no_lcd
  22M   1       1.95ms  1.97ms  2.03ms  2.46ms  8%      ▁▁▁▁▁▁▁▂█▃      8888    GM_convex_poly_clip

after:
maxrss loops min median mean max stddev samples    config bench
  10M 2 31.5µs 32.3µs 32.8µs 37.2µs 5% █▄▃▂▂▂▁▁▁▁ 8888 bitmap_BGRA_8888_A_scale_bicubic
  10M 13 43.9µs 44µs 44.1µs 44.9µs 1% █▂▁▁▁▆▁▁▁▂ 8888 bitmap_BGRA_8888_A_scale_bilerp
  10M 19 22.7µs 23.3µs 25.6µs 32.4µs 14% ▁▁▁▁▁▅▆▁▅█ 8888 bitmap_Index_8_A
  10M 5 1.79µs 1.97µs 3.85µs 21.1µs 158% █▁▁▁▁▁▁▁▁▁ 8888 text_16_AA_88
  10M 141 1.83µs 1.83µs 1.85µs 1.93µs 2% ▅▁▁█▁▁▁▁▁▁ 8888 text_16_AA_FF
  10M 10 4.65µs 4.92µs 5.06µs 6.56µs 11% █▃▃▂▂▂▁▁▁▁ 8888 rotated_rects_aa_alternating_transparent_and_opaque_src
  10M 51 4.35µs 4.48µs 4.83µs 6.68µs 17% ▂▁▁▁▁▁▁▂▆█ 8888 rotated_rects_aa_changing_opaque_src
  10M 51 4.38µs 4.79µs 4.85µs 5.84µs 11% ▁█▁▃▃▁▄▁▄▇ 8888 rotated_rects_aa_same_opaque_src
  10M 32 5.58µs 6.24µs 6.1µs 6.39µs 5% █▂█▆▁▇▄▅▇▇ 8888 rotated_rects_aa_alternating_transparent_and_opaque_srcover
  10M 42 4.28µs 5.59µs 5.11µs 6.01µs 15% ▂▂█▇█▂▁▆▁▇ 8888 rotated_rects_aa_changing_transparent_srcover
  10M 48 4.24µs 4.33µs 4.58µs 6.46µs 15% ▁▁▁▁▁█▃▂▁▁ 8888 rotated_rects_aa_changing_opaque_srcover
  10M 48 4.28µs 4.3µs 4.4µs 5.12µs 6% ▂▂▁▁▁▁▁▁▁█ 8888 rotated_rects_aa_same_transparent_srcover
  10M 46 4.24µs 4.29µs 4.66µs 7.11µs 20% ▁▁▁▁▁▁▁▁▃█ 8888 rotated_rects_aa_same_opaque_srcover
  10M 3 39.3µs 39.4µs 51.4µs 154µs 70% █▁▁▁▁▁▁▁▁▁ 8888 rectori
  10M 1 2.32ms 2.43ms 2.53ms 3.14ms 11% ▁▁▁▁▂▄█▃▅▁ 8888 maskcolor
  10M 1 2.33ms 2.37ms 2.54ms 3.21ms 12% ▁▁▁▁▁▂█▅▆▁ 8888 maskopaque
  10M 10 15.3µs 15.6µs 15.8µs 17.2µs 4% █▅▃▂▂▂▁▁▁▁ 8888 rrects_3_stroke_4
  10M 46 4.03µs 4.09µs 4.15µs 4.47µs 4% █▄▆▂▂▂▁▁▁▁ 8888 rrects_3
  10M 15 15.9µs 16.2µs 16.3µs 17.8µs 4% █▄▃▂▂▂▁▁▁▁ 8888 ovals_3_stroke_4
  10M 40 5.14µs 5.26µs 5.29µs 5.72µs 3% █▅▃▂▂▁▂▂▁▁ 8888 ovals_3
  10M 222 1.91µs 1.99µs 2.21µs 2.91µs 19% ▂▁▁▁▁▁▂▇▇█ 8888 zeroradroundrect
  10M 462 3.9µs 3.96µs 4.23µs 5.22µs 12% ▆▄█▁▂▁▁▁▁▁ 8888 arbroundrect
  10M 8 8.2µs 8.59µs 8.62µs 8.97µs 3% ▆▄█▄▅▃▁▆▄█ 8888 merge_large
  10M 14 6.73µs 6.88µs 6.86µs 7.08µs 2% ▄█▁▂▄▂▅▄▂▅ 8888 merge_small
  11M 2 221µs 234µs 237µs 263µs 5% ▄▃▃▃▄▃▂▁▇█ 8888 displacement_full_large
  16M 1 387µs 416µs 427µs 471µs 7% ▇█▁▃▃▁▃▃▇▆ 8888 displacement_alpha_large
  19M 1 512µs 521µs 528µs 594µs 5% █▂▂▂▁▁▂▃▁▁ 8888 displacement_zero_large
  19M 18 9.06µs 9.12µs 9.13µs 9.23µs 1% █▃▃▃▄▃▆▁▅▅ 8888 displacement_full_small
  19M 5 55.6µs 55.9µs 56.5µs 59.5µs 2% █▃▂▁▁▁▁▁▅▁ 8888 blurroundrect_WH[100x100]_cr[90]
  20M 1 229µs 233µs 235µs 254µs 3% █▄▃▂▂▁▁▂▁▁ 8888 GM_varied_text_clipped_no_lcd
  20M 1 270µs 271µs 272µs 278µs 1% █▄▃▂▂▂▁▂▁▇ 8888 GM_varied_text_ignorable_clip_no_lcd
  22M 1 1.96ms 2ms 2.06ms 2.45ms 7% ▂▂▁▁▁▁▁▃█▄ 8888 GM_convex_poly_clip

BUG=skia:

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

10 years agoMarking three GMs ignore-failure
robertphillips [Tue, 25 Nov 2014 14:17:49 +0000 (06:17 -0800)]
Marking three GMs ignore-failure

These appear to be recurrent flakes

TBR=tomhudson@google.com

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

10 years agoCleanup with SkAlphaMulQ_SSE2()
qiankun.miao [Tue, 25 Nov 2014 13:59:38 +0000 (05:59 -0800)]
Cleanup with SkAlphaMulQ_SSE2()

Related nanobench results:
before:
  10M   18      7.03µs  7.31µs  7.38µs  8.46µs  6%      ▂▁▂▂▂▃▄▁█▁      8888    bitmaprect_80_filter_identity
  10M   43      6.96µs  6.97µs  6.99µs  7.19µs  1%      ▁▂▁▁▁▁▁█▁▁      8888    bitmaprect_80_nofilter_identity
  10M   14      35.7µs  35.8µs  35.9µs  36.3µs  1%      ▃▂▁▂▁█▂▁▁▁      8888    bitmap_BGRA_8888_update_scale_bilerp
  10M   16      35.5µs  35.6µs  35.7µs  36.3µs  1%      █▅▂▁▁▁▃▂▁▁      8888    bitmap_BGRA_8888_update_volatile_scale_bilerp
  10M   16      35.4µs  35.4µs  35.5µs  36.8µs  1%      ▂▁█▁▁▁▁▂▁▁      8888    bitmap_BGRA_8888_scale_bilerp
  10M   25      16.4µs  16.6µs  16.7µs  17.4µs  2%      ▂▁▁▂▁▁▁▅▅█      8888    bitmap_Index_8
  10M   15      37.9µs  38µs    38µs    38.4µs  0%      ▄▆▂▁▁▁█▂▁▁      8888    bitmap_RGB_565
  10M   33      11.1µs  11.1µs  11.1µs  11.2µs  0%      ▆▂█▂▂▂▁▁▂▁      8888    bitmap_BGRA_8888_scale
after:
  10M   9       7.04µs  7.06µs  7.1µs   7.32µs  1%      █▅▂▁▁▂▁▁▁▁      8888    bitmaprect_80_filter_identity
  10M   18      7.01µs  7.02µs  7.05µs  7.25µs  1%      █▂▁▁▁▁▁▁▁▁      8888    bitmaprect_80_nofilter_identity
  10M   5       33.9µs  34µs    34.1µs  34.5µs  1%      █▃▂▂▁▁▁▅▃▂      8888    bitmap_BGRA_8888_update_scale_bilerp
  10M   7       35.5µs  35.5µs  35.6µs  36.3µs  1%      ▃▂▂▁▂▁▂▁█▂      8888    bitmap_BGRA_8888_update_volatile_scale_bilerp
  10M   7       35.5µs  35.5µs  35.7µs  36.8µs  1%      ▂▁▁▁▁▁▁▁▁█      8888    bitmap_BGRA_8888_scale_bilerp
  10M   11      16.4µs  16.4µs  16.4µs  16.6µs  0%      █▂▁▁▂▁▁▁▂▁      8888    bitmap_Index_8
  10M   7       37.3µs  37.4µs  38.4µs  47.8µs  9%      ▁▁▁▁▁▁▁▁▁█      8888    bitmap_RGB_565
  10M   33      11µs    11µs    11.1µs  11.2µs  1%      ▄█▅▃▂▁▁▁▁▁      8888    bitmap_BGRA_8888_scale

BUG=skia:

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

10 years agoUse scratch keys for stencil buffers.
bsalomon [Tue, 25 Nov 2014 13:52:06 +0000 (05:52 -0800)]
Use scratch keys for stencil buffers.

BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/91175f19664a62851da4ca4e0984a7c7c45b258f

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

10 years agoRebaselines for https://codereview.chromium.org/748853002
robertphillips [Tue, 25 Nov 2014 13:24:00 +0000 (05:24 -0800)]
Rebaselines for https://codereview.chromium.org/748853002

Add support for hoisting layers in pictures drawn with a matrix - https://codereview.chromium.org/748853002 changed the following GMs:

multipicturedraw_sierpinski_tiled
multipicturedraw_rrectclip_tiled
multipicturedraw_rectclip_tiled

Note that it also, somewhat mysteriously, "fixed" the rendering bugs in some of the S4's multipicturedraw images (see skia:3116).

TBR=tomhudson@google.com

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

10 years agoUpdate SKP version
skia.buildbots [Tue, 25 Nov 2014 07:11:56 +0000 (23:11 -0800)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

10 years agofree up picturerecorder refs after returning picture or drawable
reed [Tue, 25 Nov 2014 03:59:22 +0000 (19:59 -0800)]
free up picturerecorder refs after returning picture or drawable

this just accelerates what would happen on the next beginRecording() call or the destructor. chrome has unittests that break (shaders on the stack) if we hold on to the internals past endRecording().

BUG=skia:
TBR=

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

10 years agomore c
reed [Tue, 25 Nov 2014 03:11:48 +0000 (19:11 -0800)]
more c

BUG=skia:
TBR=

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

10 years agoCleanup: Remove bug_chomper entry from .gitignore.
tfarina [Tue, 25 Nov 2014 01:53:55 +0000 (17:53 -0800)]
Cleanup: Remove bug_chomper entry from .gitignore.

This is not necessary anymore, now that bug_chomper was moved into
skia.googlesource.com/buildbot.git

BUG=None
TBR=borenet@google.com

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

10 years agoSkRecord: outline methods that are not called O(N) times.
mtklein [Mon, 24 Nov 2014 22:45:47 +0000 (14:45 -0800)]
SkRecord: outline methods that are not called O(N) times.

Looks like a noop-to-minor-win:
                tabl_sahadan.skp 94.9us -> 98.6us 1x
         desk_jsfiddlebigcar.skp 38.9us -> 39.7us 1x
            desk_silkfinance.skp   78us -> 78.9us 1x
     desk_jsfiddlehumperclip.skp 43.8us -> 44.3us 1x
                 desk_sfgate.skp  547us ->  548us 1x
                  tabl_gmail.skp 19.9us -> 19.8us 1x
           tabl_worldjournal.skp  230us ->  229us 1x
          desk_css3gradients.skp  248us ->  247us 1x
                    tabl_cnn.skp  205us ->  203us 0.99x
               desk_linkedin.skp  342us ->  340us 0.99x
                desk_wowwiki.skp 1.63ms -> 1.62ms 0.99x
                   tabl_cnet.skp  142us ->  141us 0.99x
            desk_pokemonwiki.skp 9.76ms -> 9.67ms 0.99x
                   desk_espn.skp  267us ->  264us 0.99x
                desk_youtube.skp  576us ->  570us 0.99x
                 tabl_pravda.skp  238us ->  235us 0.99x
                  tabl_ukwsj.skp  566us ->  560us 0.99x
               tabl_engadget.skp  630us ->  622us 0.99x
desk_googlespreadsheetdashed.skp 1.66ms -> 1.64ms 0.99x
             desk_mobilenews.skp  486us ->  480us 0.99x
         tabl_googlecalendar.skp  211us ->  208us 0.99x
               desk_samoasvg.skp  740us ->  730us 0.99x
                    desk_gws.skp  187us ->  184us 0.99x
                   desk_ebay.skp  234us ->  230us 0.99x
                 desk_mapsvg.skp  1.6ms -> 1.58ms 0.98x
                tabl_nytimes.skp  130us ->  128us 0.98x
             tabl_googleblog.skp  305us ->  300us 0.98x
               desk_fontwipe.skp 40.3us -> 39.6us 0.98x
               desk_tigersvg.skp  189us ->  186us 0.98x
          tabl_androidpolice.skp  662us ->  650us 0.98x
              desk_wordpress.skp  824us ->  809us 0.98x
                    tabl_mlb.skp  338us ->  331us 0.98x
      tabl_culturalsolutions.skp  390us ->  382us 0.98x
                  desk_baidu.skp  213us ->  208us 0.98x
                  tabl_gspro.skp 72.9us -> 71.1us 0.97x
                 tabl_nofolo.skp   74us -> 71.9us 0.97x
           desk_yahooanswers.skp  173us ->  168us 0.97x
               tabl_frantzen.skp 57.3us -> 55.6us 0.97x
             desk_chalkboard.skp  891us ->  865us 0.97x
              desk_pinterest.skp  154us ->  149us 0.97x
                desk_blogger.skp  537us ->  519us 0.97x
                   tabl_hsfi.skp 10.1us -> 9.69us 0.96x
            desk_gmailthread.skp  333us ->  318us 0.96x
                   tabl_digg.skp  926us ->  883us 0.95x
      desk_googlespreadsheet.skp  586us ->  558us 0.95x
             desk_forecastio.skp  101us -> 95.7us 0.95x
                desk_booking.skp  1.1ms -> 1.04ms 0.95x
             tabl_deviantart.skp  144us ->  136us 0.95x
               desk_facebook.skp  584us ->  553us 0.95x
                desk_weather.skp  289us ->  272us 0.94x
             desk_googlehome.skp 61.1us -> 57.5us 0.94x
             desk_googleplus.skp  914us ->  849us 0.93x
                desk_twitter.skp  499us ->  463us 0.93x

BUG=skia:

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

10 years agoDon't count a leading 1 as a signficant digit in the ratio.
Mike Klein [Mon, 24 Nov 2014 22:44:23 +0000 (17:44 -0500)]
Don't count a leading 1 as a signficant digit in the ratio.

What used to look like this:
            desk_pokemonwiki.skp    9.38ms -> 9.76ms    1x
                 tabl_pravda.skp     237us ->  241us    1x
          desk_css3gradients.skp     249us ->  254us    1x
            ....
               desk_fontwipe.skp    39.6us -> 38.7us    0.98x
                   tabl_digg.skp     922us ->  893us    0.97x
                  tabl_gmail.skp    20.7us ->   20us    0.96x

Now will print more like this:

            desk_pokemonwiki.skp    9.38ms -> 9.76ms    1.04x
                 tabl_pravda.skp     237us ->  241us    1.02x
          desk_css3gradients.skp     249us ->  254us    1.02x
            ....
               desk_fontwipe.skp    39.6us -> 38.7us    0.98x
                   tabl_digg.skp     922us ->  893us    0.97x
                  tabl_gmail.skp    20.7us ->   20us    0.96x

BUG=skia:

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

10 years agooption to return drawable from recording
reed [Mon, 24 Nov 2014 22:41:51 +0000 (14:41 -0800)]
option to return drawable from recording

patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001)

BUG=skia:

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

10 years agoBlink hasn't rolled yet, better.
Mike Klein [Mon, 24 Nov 2014 22:31:54 +0000 (17:31 -0500)]
Blink hasn't rolled yet, better.

BUG=skia:

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

10 years agoRevert of Blink hasn't rolled yet. (patchset #1 id:1 of https://codereview.chromium...
mtklein [Mon, 24 Nov 2014 22:28:55 +0000 (14:28 -0800)]
Revert of Blink hasn't rolled yet. (patchset #1 id:1 of https://codereview.chromium.org/754133002/)

Reason for revert:
Not thorough enough.

Original issue's description:
> Blink hasn't rolled yet.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/fa14113d0563686af9f7e2d8e041dd7bf538cfa2

TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

10 years agorestore old convention of asserting refcnt==1 in destructor
reed [Mon, 24 Nov 2014 22:13:55 +0000 (14:13 -0800)]
restore old convention of asserting refcnt==1 in destructor

BUG=skia:

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

10 years agoBlink hasn't rolled yet.
Mike Klein [Mon, 24 Nov 2014 21:26:15 +0000 (16:26 -0500)]
Blink hasn't rolled yet.

BUG=skia:

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

10 years agomake SkRefCnt::getRefCnt() debug-only, remove it from SkNVRefCnt.
mtklein [Mon, 24 Nov 2014 21:09:39 +0000 (13:09 -0800)]
make SkRefCnt::getRefCnt() debug-only, remove it from SkNVRefCnt.

Only (unused) API removed.
TBR=reed@google.com

BUG=skia:3160

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

10 years agoAdd nanobench stats scripts to Skia repo.
mtklein [Mon, 24 Nov 2014 20:39:59 +0000 (12:39 -0800)]
Add nanobench stats scripts to Skia repo.

These are the scripts I've been homegrowing for measuring perf impact.  I think we found them useful today as a way of sifting through the noise.

BUG=skia:

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

10 years agoRevert "Use scratch keys for stencil buffers."
bsalomon [Mon, 24 Nov 2014 20:19:05 +0000 (12:19 -0800)]
Revert "Use scratch keys for stencil buffers."

This reverts commit 91175f19664a62851da4ca4e0984a7c7c45b258f.

Revert "Cleanup res cache bench and split out into a unit test."

This reverts commit 4e4303f002c5958c6c958e7ba8e49b24c25f0b22.

Revert "rebaselines"

This reverts commit 65ba7b57759bfca60b24bc34dc46fc8caaf146f0.

TBR=tomhudson@google.com

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

10 years agoadd some debugging to SkNVRefCnt
reed [Mon, 24 Nov 2014 20:02:31 +0000 (12:02 -0800)]
add some debugging to SkNVRefCnt

BUG=skia:

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

10 years agoRevert of More rebaselines (patchset #1 id:1 of https://codereview.chromium.org/75483...
tomhudson [Mon, 24 Nov 2014 19:27:41 +0000 (11:27 -0800)]
Revert of More rebaselines (patchset #1 id:1 of https://codereview.chromium.org/754833003/)

Reason for revert:
Reverted causative patchset (https://codereview.chromium.org/747043004)

Original issue's description:
> More rebaselines
>
> TBR=
> NOTRY=true
> NOTREECHECKS=true
>
> Committed: https://skia.googlesource.com/skia/+/0ef7ba2a43a41e8e1e49a5187073db6dcca345b4

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

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

10 years agoRevert of more rebaselines (patchset #1 id:1 of https://codereview.chromium.org/75565...
tomhudson [Mon, 24 Nov 2014 19:24:46 +0000 (11:24 -0800)]
Revert of more rebaselines (patchset #1 id:1 of https://codereview.chromium.org/755653003/)

Reason for revert:
Reverted causative patch (https://codereview.chromium.org/747043004)

Original issue's description:
> more rebaselines
>
> TBR=
> NOTRY=true
> NOTREECHECKS=true
>
> Committed: https://skia.googlesource.com/skia/+/f2fdc8b746acac9daa94b21d3849f60a87064fd4

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

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

10 years agoRevert of Revert of Add gpu support for Apple specific 'Vertex Arrays' functions...
tomhudson [Mon, 24 Nov 2014 19:22:36 +0000 (11:22 -0800)]
Revert of Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #1 id:1 of https://codereview.chromium.org/750973003/)

Reason for revert:
Original patchset seems to have been exonerated. Crash was mac-specific, but appears to be triggered by a non-mac-specific change (https://codereview.chromium.org/747043004/); suspecting driver bug?

Original issue's description:
> Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #2 id:20001 of https://codereview.chromium.org/754653002/)
>
> Reason for revert:
> Suspected in DM crashes, e.g.
>
> 2033 tasks left  344M peak   843ms tabl-cuteoverload_skp
> Signal 11:
> _sigtramp (+0x1a)
> create_surface(CanvasConfig const&, GrContext*) (+0x1b2)
> test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4)
> skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21)
> skiatest::Test::run() (+0x7c)
> DM::GpuTestTask::draw(GrContextFactory*) (+0x8c)
> DM::GpuTask::run(GrContextFactory*) (+0xa6)
> DM::TaskRunner::wait() (+0x7f)
> dm_main() (+0x33f)
> main (+0x27)
>
>
> On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}):
>
> http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug
>
>
> Original issue's description:
> > Add gpu support for Apple specific 'Vertex Arrays' functions
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc
>
> TBR=bsalomon@google.com,paraboul@gmail.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/55fe3d7748b873e362edc4e6a43bd77914ed25fb

TBR=bsalomon@google.com,paraboul@gmail.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

10 years agoSuppress additional multipicturedraw GM for Android
robertphillips [Mon, 24 Nov 2014 18:56:21 +0000 (10:56 -0800)]
Suppress additional multipicturedraw GM for Android

One Android bot is failing on the rect test case.

TBR=tomhudson@google.com
NOTRY=true
NOTREECHECKS=true

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

10 years agoSigh - remove whitespace from end of suppressions text line
robertphillips [Mon, 24 Nov 2014 18:23:07 +0000 (10:23 -0800)]
Sigh - remove whitespace from end of suppressions text line

TBR=tomhudson@google.com
NOTRY=true
NOTREECHECKS=true

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

10 years agoAdd suppressions for https://codereview.chromium.org/748853002
robertphillips [Mon, 24 Nov 2014 18:06:47 +0000 (10:06 -0800)]
Add suppressions for https://codereview.chromium.org/748853002

TBR=tomhudson@google.com
NOTRY=true
NOTREECHECKS=true

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

10 years agoRevert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset...
tomhudson [Mon, 24 Nov 2014 17:59:41 +0000 (09:59 -0800)]
Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #2 id:20001 of https://codereview.chromium.org/754653002/)

Reason for revert:
Suspected in DM crashes, e.g.

2033 tasks left  344M peak   843ms tabl-cuteoverload_skp
Signal 11:
_sigtramp (+0x1a)
create_surface(CanvasConfig const&, GrContext*) (+0x1b2)
test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4)
skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21)
skiatest::Test::run() (+0x7c)
DM::GpuTestTask::draw(GrContextFactory*) (+0x8c)
DM::GpuTask::run(GrContextFactory*) (+0xa6)
DM::TaskRunner::wait() (+0x7f)
dm_main() (+0x33f)
main (+0x27)

On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}):

http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug

Original issue's description:
> Add gpu support for Apple specific 'Vertex Arrays' functions
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc

TBR=bsalomon@google.com,paraboul@gmail.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

10 years agoAdd support for hoisting layers in pictures drawn with a matrix
robertphillips [Mon, 24 Nov 2014 17:49:17 +0000 (09:49 -0800)]
Add support for hoisting layers in pictures drawn with a matrix

Although Chromium doesn't use the drawPicture matrix parameter for their tiling, our local code does. Without such drawPicture calls break layer hoisting.

BUG=skia:2315

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

10 years agoAdd Sk prefix to CreateBitmapShader.
mtklein [Mon, 24 Nov 2014 17:11:45 +0000 (09:11 -0800)]
Add Sk prefix to CreateBitmapShader.

It's neither static nor namespaced, so we should probably prefix it.

BUG=skia:

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

10 years agoRemove android-framework-only unused parameter.
scroggo [Mon, 24 Nov 2014 17:05:35 +0000 (09:05 -0800)]
Remove android-framework-only unused parameter.

Allows -Werror=unused-parameter to build on android framework.

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