robertphillips [Thu, 10 Jul 2014 21:10:58 +0000 (14:10 -0700)]
Add alternate SkPicture::clone
This adds an alternate version of SkPicture::clone for two reasons:
1) Chromium uses the SkPicture copy constructor to unpack the pictures from the old-style clone interface (and I would like to remove the copy ctor)
2) This is part of the long term plan to wean Chrome off of cloning. Once pictures are thread safe we will switch the new SkPicture::clone call to just return 'this'. From there it is a small step to removing clone entirely.
Note that the two versions of clone() is temporary. Once this is landed (and rolled) I will land a Chrome-side patch to remove their use of the old interface (Use new SkPicture::clone interface - https://codereview.chromium.org/
380323002/)
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
381193002
mtklein [Thu, 10 Jul 2014 21:10:45 +0000 (14:10 -0700)]
Slim Skia down to just one murmur3 implementation.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
6ac0037b70410ff7d5ce5788bc89314223e1a587
Committed: https://skia.googlesource.com/skia/+/
67a3271f0de9ccc32d559b042b862528272047cc
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
376183004
Ben Wagner [Thu, 10 Jul 2014 20:21:49 +0000 (16:21 -0400)]
Handle NULL typeface in SampleApp.
It is possible that SampleApp will use the NULL typeface as the default.
This is valid and should be handled properly on shutdown.
senorblanco [Thu, 10 Jul 2014 20:02:30 +0000 (13:02 -0700)]
Yet more perlin noise rebaselines.
R=jcgregorio@google.com
TBR=jcgregorio@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
385733003
senorblanco [Thu, 10 Jul 2014 19:42:01 +0000 (12:42 -0700)]
You guessed it -- more perlin noise rebaselines.
R=jcgregorio@google.com
TBR=jcgregorio@google.com
NOTRY=true
NOTREECHECKS=true
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
386693002
senorblanco [Thu, 10 Jul 2014 19:01:29 +0000 (12:01 -0700)]
Ibid.
R=jcgregorio@google.com
TBR=jcgregorio@google.com
NOTRY=true
NOTREECHECKS=true
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
381223002
senorblanco [Thu, 10 Jul 2014 18:57:26 +0000 (11:57 -0700)]
Yet more perlin noise rebaselines.
(Apparently my rebaseline_server skills leave something to be desired.)
R=jcgregorio@google.com
TBR=jcgregorio@google.com
NOTRY=true
NOTREECHECKS=true
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
384863002
senorblanco [Thu, 10 Jul 2014 18:29:20 +0000 (11:29 -0700)]
Some more perlinnoise rebaselines.
R=jcgregorio@google.com
TBR=jcgregorio@google.com
NOTRY=true
NOTREECHECKS=true
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
381973002
mtklein [Thu, 10 Jul 2014 18:24:18 +0000 (11:24 -0700)]
Use a consume load in SkLazyPtr.
This only affects ARM, where an acquire needs a memory barrier but consume does not. I am interested to see if there's a noticeable effect on the Android bots.
BUG=skia:
NOTRY=true
R=bungeman@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
381143002
robertphillips [Thu, 10 Jul 2014 18:24:12 +0000 (11:24 -0700)]
Re-add friend Chrome requires
R=jcgregorio@google.com
TBR=jcgregorio@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
381963002
mtklein [Thu, 10 Jul 2014 18:11:50 +0000 (11:11 -0700)]
Split SkTRacy into SkTRacy and SkTRacyReffable.
Looks like TSAN can't always suppress our existing implementation of SkTRacy
(what is turning here into SkTRacyReffable). To minimize flakiness, use
SkTRacy where possible and SkTRacyReffable where necessary.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
497cda3a6b72b9cb390334e8756d38b4ffac044f
NOTRY=true
R=robertphillips@google.com, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
388503002
senorblanco [Thu, 10 Jul 2014 17:52:21 +0000 (10:52 -0700)]
New baselines for perlin noise changes.
Pixel results affected by
ca6a7c29452e13cf63bb4e225972065cbfe6e265
R=jcgregorio@google.com
TBR=jcgregorio@google.com
NOTRY=true
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
385643003
mtklein [Thu, 10 Jul 2014 17:38:22 +0000 (10:38 -0700)]
Split SkTRacy into SkTRacy and SkTRacyReffable.
Looks like TSAN can't always suppress our existing implementation of SkTRacy
(what is turning here into SkTRacyReffable). To minimize flakiness, use
SkTRacy where possible and SkTRacyReffable where necessary.
BUG=skia:
R=robertphillips@google.com, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
388503002
Derek Sollenberger [Thu, 10 Jul 2014 17:04:24 +0000 (13:04 -0400)]
Add config to build mips with dsp2 optimizations enabled by default.
R=borenet@google.com
Review URL: https://codereview.chromium.org/
380213004
robertphillips [Thu, 10 Jul 2014 16:35:12 +0000 (09:35 -0700)]
Cleanup SkPicture* classes a bit
This is an attempt to reduce the number of friends the various SkPicture* classes have.
Probably the only controversial part is making getBitmap, getPath, getPicture and getPaint
public on SkPictureData (and adding a new initIterator entry point).
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
384753004
epoger [Thu, 10 Jul 2014 16:03:23 +0000 (09:03 -0700)]
import google-api-python-client using DEPS
BUG=skia:2641
R=jcgregorio@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/
381933002
halcanary [Thu, 10 Jul 2014 15:59:38 +0000 (08:59 -0700)]
sk_malloc_throw/sk_calloc_throw in debug prints size in failure message
R=caryclark@google.com, mtklein@google.com, reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/
377113004
Mike Klein [Thu, 10 Jul 2014 15:32:44 +0000 (11:32 -0400)]
Delete third_party/harfbuzz
BUG=skia:
R=bungeman@google.com, reed@google.com
Review URL: https://codereview.chromium.org/
384503008
robertphillips [Thu, 10 Jul 2014 14:57:16 +0000 (07:57 -0700)]
Remove shadows suppression
The 'shadows' GM isn't appearing on the "Recent GM Failures" page. It might have been a blip.
R=jcgregorio@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
387533002
robertphillips [Thu, 10 Jul 2014 14:21:27 +0000 (07:21 -0700)]
Split SkPictureReplacementPlayback out of SkPicturePlayback
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
383733002
mtklein [Thu, 10 Jul 2014 13:03:46 +0000 (06:03 -0700)]
Slim Skia down to just one murmur3 implementation.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
6ac0037b70410ff7d5ce5788bc89314223e1a587
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
376183004
Derek Sollenberger [Thu, 10 Jul 2014 12:10:20 +0000 (08:10 -0400)]
update our build system to support the experimental L-Release NDK
This includes adding 64-bit support for arm, x86, and mips.
R=borenet@google.com
Review URL: https://codereview.chromium.org/
377993002
Eric Boren [Thu, 10 Jul 2014 11:48:52 +0000 (07:48 -0400)]
Whitespace change to verify buildbot scripts after https://skia.googlesource.com/buildbot/+/dd42159
BUG=skia:2682
Review URL: https://codereview.chromium.org/
361243003
borenet [Thu, 10 Jul 2014 07:16:58 +0000 (00:16 -0700)]
Update SKP version to 47
Automatic commit by the RecreateSKPs bot.
TBR=
Author: borenet@google.com
Review URL: https://codereview.chromium.org/
387433002
reed [Thu, 10 Jul 2014 00:28:13 +0000 (17:28 -0700)]
fix typo, had two RGBA instead of RGBA and BGRA
TBR=caryclark@google.com
BUG=skia:
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/
382633004
scroggo [Wed, 9 Jul 2014 22:04:20 +0000 (15:04 -0700)]
Handle bad ICO data better.
Interpret size and offset as size_t, as they should be. When read
as int, they could be negative values. If they are negative (rather
than positive and very large), they will not allow us to fail the
length test, resulting in trying to read uninitialized memory.
BUG=b/
16010240
R=halcanary@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/
374413005
robertphillips [Wed, 9 Jul 2014 21:24:00 +0000 (14:24 -0700)]
Add suppression for shadows test
R=jvanverth@google.com
TBR=jcgregorio@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
377403004
mtklein [Wed, 9 Jul 2014 21:18:52 +0000 (14:18 -0700)]
Revert of Slim Skia down to just one murmur3 implementation. (https://codereview.chromium.org/
376183004/)
Reason for revert:
Valgrind unhappy. skia:2735
Original issue's description:
> Slim Skia down to just one murmur3 implementation.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
6ac0037b70410ff7d5ce5788bc89314223e1a587
R=reed@google.com, mtklein@chromium.org
TBR=mtklein@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
378413002
mtklein [Wed, 9 Jul 2014 20:10:58 +0000 (13:10 -0700)]
Merge Replay and Quilt tasks, adding in all BBH implementations.
Replay isn't that helpful of a test any more now that we have the more
stringent Quilt tests. Quilt was missing bounding box hierarchies, though,
while Replay was sort of testing RTree (pointlessly, as it was drawing without
any clip). Now Quilt does everything, testing RTree, QuadTree, and TileGrid.
Quilt mode now falls back to drawing all at once (i.e. Replay) for GMs that
don't tile perfectly. Still a TODO to make this check more flexible than exact
pixel matches.
Two GMs fail when using a BBH:
- imageresizetiled
- resizeimagefilter
We think we're not adjusting the bounds of save layers by their paint.
This is probably a bug, but one to be fixed separately from adding new tests.
BUG=skia:
R=robertphillips@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
377373003
robertphillips [Wed, 9 Jul 2014 20:00:07 +0000 (13:00 -0700)]
Refactor SkPicturePlayback for SkPictureReplacementPlayback
This CL is intended to maximize code reuse when SkPictureReplacementPlayback is split off.
R=mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
378343002
kelvinly [Wed, 9 Jul 2014 19:25:27 +0000 (12:25 -0700)]
Remove useless options from bench
BUG=skia:
R=jcgregorio@google.com, bensong@google.com, bsalomon@google.com, robertphillips@google.com, reed@google.com
Author: kelvinly@google.com
Review URL: https://codereview.chromium.org/
375863006
ehsan.akhgari [Wed, 9 Jul 2014 18:13:55 +0000 (11:13 -0700)]
Do not export SkTDArray when building Skia as a DLL
This class has four members (deleteAll, freeAll, unrefAll and
safeUnrefAll) which will only compile for certain instantiations of
SkTDArray depending on the template argument type. Marking this class
as dllexport breaks the build with clang-cl because of
http://llvm.org/PR20163. Since this class is header-only, we can just
make it non-exported to enable building Skia as a DLL with clang-cl.
BUG=skia:
R=ctguil@chromium.org, mtklein@google.com, reed@google.com
Author: ehsan.akhgari@gmail.com
Review URL: https://codereview.chromium.org/
368253002
jvanverth [Wed, 9 Jul 2014 18:12:06 +0000 (11:12 -0700)]
Update one last expectation from gamma change.
R=bungeman@google.com
TBR=bungeman@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/
380823002
egdaniel [Wed, 9 Jul 2014 17:41:26 +0000 (10:41 -0700)]
Improve gpu tracing when applying markers directly to gpu target
- Change the debug marker strings sent by the GrGpuGL target to only grab the last object
added to the set of active markers. This improves the readability when we end up with a
large stack of trace markers. Any trace markers the come from the IODB will continue to
be squashed into a single debug marker
- Added some more useful, high level markers
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/
378933002
mtklein [Wed, 9 Jul 2014 16:54:10 +0000 (09:54 -0700)]
Always initialize SkDashPathEffect fields.
SkDashPathEffect is flattened into a hash key as part of the old-and-busted
SkPicture paint deduping code. If all its fields aren't intialized, this hash
will be based on uninitialized data. This means the hash won't be
deterministic, and worse, Valgrind and MSAN will make us feel bad.
An alternative to this is to have SkDashPath::CalcDashParameters always
guarantee it writes something to all its output parameters, even when the dash
intervals make no sense. I like it being dumb and its users defensive, but
could go either way.
BUG=391001
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
379813004
mtklein [Wed, 9 Jul 2014 16:20:54 +0000 (09:20 -0700)]
Add bounds checks to SkTDynamicHash
BUG=391001
R=bsalomon@google.com, mtklein@google.com, sugoi@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
380443002
tfarina [Wed, 9 Jul 2014 16:18:05 +0000 (09:18 -0700)]
Cleanup: Remove SkUTF16_Str API.
It does not have any users in Skia, Blink and Chromium.
BUG=None
TEST=make all
R=mtklein@google.com, reed@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/
366243004
krajcevski [Wed, 9 Jul 2014 16:15:45 +0000 (09:15 -0700)]
Optimized R11 EAC compressor
R=robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/
373243002
mtklein [Wed, 9 Jul 2014 15:49:08 +0000 (08:49 -0700)]
Slim Skia down to just one murmur3 implementation.
BUG=skia:
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
376183004
mtklein [Wed, 9 Jul 2014 15:46:49 +0000 (08:46 -0700)]
nanobench: add median and --cpu/--gpu
BUG=skia:
R=krajcevski@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
377283002
bsalomon [Wed, 9 Jul 2014 15:14:36 +0000 (08:14 -0700)]
Revert of Make GrGLConfigConversionEffect work for Imagination and some other GPUs. (https://codereview.chromium.org/
277323002/)
Reason for revert:
Need to only use the highp variations on GLES contexts not GL contexts.
http://108.170.220.120:10117/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release/builds/3398/steps/RunTests/logs/stdio
Original issue's description:
> Make GrGLConfigConversionEffect work for Imagination and some other GPUs.
>
> BUG=372341
>
> Committed: https://skia.googlesource.com/skia/+/
93cf46f7d687128d2ad05762bd65fea6c4539553
R=tomhudson@chromium.org, changjun.yang@intel.com, rmistry@google.com, jcgregorio@google.com
NOTREECHECKS=true
NOTRY=true
BUG=372341
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
377263003
epoger [Wed, 9 Jul 2014 14:59:06 +0000 (07:59 -0700)]
rebaseline_server: cache results in long-running ImageDiffDB instance
Rather than rebuilding the ImageDiffDB from scratch every time we update expected/actual results, keep the same ImageDiffDB instance around and add image pairs to it.
This makes updating results within a long-running server.py *much* faster, and tests out an idea I'm ruminating in https://goto.google.com/LongRunningImageDiffDBServer : we could run an ImageDiffDB server that developers could connect to from their locally running rebaseline_server instances, for much faster launch times.
BUG=skia:2414
NOTRY=True
R=rmistry@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/
379563005
mtklein [Wed, 9 Jul 2014 14:52:32 +0000 (07:52 -0700)]
Remove ability for Release code to call getRefCnt() or getWeakRefCnt().
These getRefCnt() methods are not thread safe, so Skia code should not
be calling them. unique() is fine.
SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt().
This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in
both debug and release modes.
BUG=skia:2726
Committed: https://skia.googlesource.com/skia/+/
4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443
R=senorblanco@chromium.org, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
378643003
scroggo [Wed, 9 Jul 2014 14:26:40 +0000 (07:26 -0700)]
Build Android with SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG.
This flag will be used on Android when built for the framework,
as well as when built for the WebView. Setting this flag for
Android means our tests can fully test CanvasStateTest.
Fix CanvasStateTest. It has bit-rotted since disabling
SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG.
Splitting off from https://codereview.chromium.org/
372003002/ ,
as it seems self-contained.
BUG=b/
15693384
R=djsollen@google.com, reed@google.com, mtklein@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/
375943003
henrik.smiding [Wed, 9 Jul 2014 14:25:09 +0000 (07:25 -0700)]
Add thread safety configuration check.
Enables the possibility to set thread model in the configuration
files (like Android does).
Also adds a warning check to make sure that we have an
implementation for the thread safety class.
Author: joakim.landberg@intel.com
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com, torne@chromium.org, scroggo@google.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/
361423003
changjun.yang [Wed, 9 Jul 2014 13:47:29 +0000 (06:47 -0700)]
Make GrGLConfigConversionEffect work for Imagination and some other GPUs.
BUG=372341
R=tomhudson@chromium.org, bsalomon@google.com
Author: changjun.yang@intel.com
Review URL: https://codereview.chromium.org/
277323002
epoger [Wed, 9 Jul 2014 13:19:20 +0000 (06:19 -0700)]
rebaseline_server: allow JSON to control column filtering
Makes the rebaseline_server client more generic, allowing the server to tweak display properties by writing directives into the JSON file.
Adds two new fields to the rebaseline_server JSON file (and thus increments VALUE__HEADER__SCHEMA_VERSION):
1. KEY__ROOT__EXTRACOLUMNORDER: order in which the client should display columns
2. KEY__EXTRACOLUMNHEADERS__USE_FREEFORM_FILTER: whether a column should be filtered using a freeform text field or checkboxes
BUG=skia:2230
NOTRY=True
R=rmistry@google.com
Author: epoger@google.com
Review URL: https://codereview.chromium.org/
376623002
Mike Klein [Wed, 9 Jul 2014 13:04:07 +0000 (09:04 -0400)]
Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()."
This reverts commit
4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443.
BUG=skia:
Review URL: https://codereview.chromium.org/
382523002
mtklein [Wed, 9 Jul 2014 02:37:47 +0000 (19:37 -0700)]
Add SkRacy
SkRacy<T> is a zero-overhead wrapper for a T, except it also
silences race warnings when TSAN is running.
Here we apply in several classes. In SkMatrix and SkPathRef,
we use it to opportunistically cache some idempotent work.
In SkPixelRef, we wrap the genIDs. We think the worst that
can happen here is we'll increment the global next-genID a
few times instead of once when we go to get another ID.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7
CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
371363004
bensong [Tue, 8 Jul 2014 23:05:39 +0000 (16:05 -0700)]
manual bench rebase after d3f3e58, adjusted with
a26bbb95a64c1507ba81d39b971f079f3f9c5646
R=borenet@google.com
TBR=borenet@google.com
Bypassing trybots:
NOTRY=true
Author: bensong@google.com
Review URL: https://codereview.chromium.org/
377093002
bensong [Tue, 8 Jul 2014 21:36:56 +0000 (14:36 -0700)]
bench rebase tool: add ability to specify a second CL for fluctuating data adjustment.
R=borenet@google.com
TBR=borenet@google.com
BUG=skia:2657
NOTRY=true
Author: bensong@google.com
Review URL: https://codereview.chromium.org/
370413002
mtklein [Tue, 8 Jul 2014 21:06:46 +0000 (14:06 -0700)]
Revert of Add SkRacy (https://codereview.chromium.org/
371363004/)
Reason for revert:
hidden symbol 'AnnotateBenignRaceSized' in obj/base/third_party/dynamic_annotations/libdynamic_annotations.a(obj/base/third_party/dynamic_annotations/dynamic_annotations.dynamic_annotations.o) is referenced by DSO lib/libblink_platform.so
Original issue's description:
> Add SkRacy
>
> SkRacy<T> is a zero-overhead wrapper for a T, except it also
> silences race warnings when TSAN is running.
>
> Here we apply in several classes. In SkMatrix and SkPathRef,
> we use it to opportunistically cache some idempotent work.
>
> In SkPixelRef, we wrap the genIDs. We think the worst that
> can happen here is we'll increment the global next-genID a
> few times instead of once when we go to get another ID.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7
R=reed@google.com, mtklein@chromium.org
TBR=mtklein@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
377693005
mtklein [Tue, 8 Jul 2014 21:04:45 +0000 (14:04 -0700)]
Revert of Missing volatile in AnnotateBenignRaceSized declaration. (https://codereview.chromium.org/
380473002/)
Reason for revert:
sdf
Original issue's description:
> Missing volatile in AnnotateBenignRaceSized declaration.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/f7a180b
R=mtklein@chromium.org
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/
379623004
robertphillips [Tue, 8 Jul 2014 20:07:57 +0000 (13:07 -0700)]
Fixed up SkTimedPicturePlayback
This was more motivated to remove the preDraw and postDraw virtuals from SkPicturePlayback.
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
375943002
Mike Klein [Tue, 8 Jul 2014 19:54:06 +0000 (15:54 -0400)]
Missing volatile in AnnotateBenignRaceSized declaration.
BUG=skia:
Review URL: https://codereview.chromium.org/
380473002
mtklein [Tue, 8 Jul 2014 19:30:39 +0000 (12:30 -0700)]
Add SkRacy
SkRacy<T> is a zero-overhead wrapper for a T, except it also
silences race warnings when TSAN is running.
Here we apply in several classes. In SkMatrix and SkPathRef,
we use it to opportunistically cache some idempotent work.
In SkPixelRef, we wrap the genIDs. We think the worst that
can happen here is we'll increment the global next-genID a
few times instead of once when we go to get another ID.
BUG=skia:
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
371363004
tomhudson [Tue, 8 Jul 2014 19:29:54 +0000 (12:29 -0700)]
Add missing / in android_gdbserver
Introduced in https://codereview.chromium.org/
22617002, apparently
worked just fine, at least on already-set-up devices. Failing at
least since https://codereview.chromium.org/
352303003/.
BUG=skia:2729
R=djsollen@google.com, tomhudson@google.com
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/
372273003
scroggo [Tue, 8 Jul 2014 18:20:57 +0000 (11:20 -0700)]
Use BUILD_NATIVE_TEST instead of BUILD_EXECUTABLE.
This will generate makefiles for our tools (bench, tests, gm, dm) using
the line "include $(BUILD_NATIVE_TEST)". This has been recommended by the
Android team, as it builds both 32 bit and 64 bit versions of the test.
Do not use LOCAL_MODULE_PATH, which is deprecated (see https://docs.google.com/a/google.com/document/d/1uLAuY7_KYGx1TSzJ9SXkyevT8qNpra2ZoIBkmCoq8VM/edit# ).
Corresponds to ag/498302 , which makes this change just for bench.
R=djsollen@google.com, halcanary@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/
369673002
reed [Tue, 8 Jul 2014 18:15:59 +0000 (11:15 -0700)]
add setPreserveSrcDepth to replace PrefTable API for android
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/
371273007
jvanverth [Tue, 8 Jul 2014 18:15:48 +0000 (11:15 -0700)]
Use stack allocation for Android data in SkScalerContext::MakeRec().
In a perfvis run on the "Boogie" test page, descriptorProc() during
detachCache() was taking .721 ms, and 20% of that was the flatten() in
MakeRec(). Changing this to a smaller stack allocation reduces the time
for descriptorProc() to .556 ms.
R=reed@google.com, bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/
372323003
tfarina [Tue, 8 Jul 2014 17:33:28 +0000 (10:33 -0700)]
Cleanup: Rename UnitTestTest.cpp to RTConfRegistryTest.cpp
BUG=None
TEST=make tests
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/
374443002
bsalomon [Tue, 8 Jul 2014 17:30:37 +0000 (10:30 -0700)]
Fix param name in GrEffect::CastEffect
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
376863006
Robert Phillips [Tue, 8 Jul 2014 16:58:20 +0000 (12:58 -0400)]
Back off from SkPicture API hardening a bit
Sigh - Chromium still relies on the old clone functionality
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
371273006
bsalomon [Tue, 8 Jul 2014 16:56:10 +0000 (09:56 -0700)]
Goodbye GrEffectRef.
Also, reworked some var names and comments around SkShader::asNewEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
374923002
sugoi [Tue, 8 Jul 2014 16:18:48 +0000 (09:18 -0700)]
Adding validation before using an SkImageInfo object read from an SkReadBuffer.
BUG=389574
R=senorblanco@google.com, reed@google.com, senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/
376803004
senorblanco [Tue, 8 Jul 2014 16:16:22 +0000 (09:16 -0700)]
Clean up SkImageFilter constructors.
Now that all creation of SkImageFilters goes through
factory Create() methods, there's no real reason for the
convenience constructors. Some SkImageFilter subclasses
which actually have zero DAG-able inputs were passing NULL
to the superclass constructor. This actually means 1 input,
with a NULL value, not zero inputs. This becomes more
relevant for the upcoming cache infrastructure, where this
indicates that the filter will use its src input, where in
fact some of these filters do not (they are image generators
only).
Limiting SkImageFilter to a single constructor resolves this
ambiguity.
Along the way, I removed all of the default parameters to
the constructors, since the Create methods always call them
with the full argument list.
BUG=skia:
R=reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/
376953003
robertphillips [Tue, 8 Jul 2014 15:38:18 +0000 (08:38 -0700)]
Harden SkPicture interface a bit
With the removal of SkTimedPicture we can now make more of SkPicture private.
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
377833007
robertphillips [Tue, 8 Jul 2014 15:28:08 +0000 (08:28 -0700)]
Split SkPictureRangePlayback out of SkPicturePlayback
This CL starts cleaning up SkPicturePlayback. Future CLs will:
split out the SkPictureReplacementPlayback
remove the preDraw/postDraw entry points & fix up SkPictureTimedPlayback
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
374833006
bsalomon [Tue, 8 Jul 2014 14:34:20 +0000 (07:34 -0700)]
Remove GrEffect::CreateEffectRef and GrEffect::AutoEffectRef.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
371103003
bsalomon [Tue, 8 Jul 2014 13:52:35 +0000 (06:52 -0700)]
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
Committed: https://skia.googlesource.com/skia/+/
2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
377503004
mtklein [Tue, 8 Jul 2014 13:48:17 +0000 (06:48 -0700)]
Remove ability for Release code to call getRefCnt() or getWeakRefCnt().
These getRefCnt() methods are not thread safe, so Skia code should not
be calling them. unique() is fine.
SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt().
This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in
both debug and release modes.
BUG=skia:2726
R=senorblanco@chromium.org, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
378643003
robertphillips [Tue, 8 Jul 2014 13:12:22 +0000 (06:12 -0700)]
Clean up a bit after SkPictureData/SkPicturePlayback split
This CL begins setting up the SkPicturePlayback split by simplifying the class and componentizing it a bit. It:
fuses SkPictureData::OperationList into SkPicture::OperationList
adds a handleOp method to SkPicturePlayback that can be reused by derived classes
removes a couple debugging tools (ENABLE_TIME_DRAW & SPEW_CLIP_SKIPPING)
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
378703002
Derek Sollenberger [Tue, 8 Jul 2014 12:26:21 +0000 (08:26 -0400)]
make skia_launcher be a position independent executable
R=tomhudson@google.com
Review URL: https://codereview.chromium.org/
374833003
Derek Sollenberger [Tue, 8 Jul 2014 12:23:31 +0000 (08:23 -0400)]
fix WBMP image will get null color table when draw in RGB565 Canvas
Symptom: draw Index8 to RGB565 will using SkColorTable::lock16BitCache and return a null array.
Root Cause:lock16BitCache return null pointer because default type is kPremul_SkAlphaType
Solution: WBMP color table should be kOpaque_SkAlphaType
Reproduce steps: draw a WBMP with a matrix that apply rotate and transform
This patch was proposed by arthur_hung at htc.com to the AOSP project.
R=reed@google.com, scroggo@google.com
Review URL: https://codereview.chromium.org/
377443007
djordje.pesut [Tue, 8 Jul 2014 09:24:16 +0000 (02:24 -0700)]
MIPS: added optimizations for functions from SkBitmapProcState
gain is ~30%
following functions are optimized:
SI8_D16_nofilter_DX
SI8_opaque_D32_nofilter_DX
R=djsollen@google.com, teodora.petrovic@gmail.com
Author: djordje.pesut@imgtec.com
Review URL: https://codereview.chromium.org/
336533003
borenet [Tue, 8 Jul 2014 06:36:25 +0000 (23:36 -0700)]
Update SKP version to 45
Automatic commit by the RecreateSKPs bot.
TBR=
Author: borenet@google.com
Review URL: https://codereview.chromium.org/
379523002
mtklein [Tue, 8 Jul 2014 00:53:17 +0000 (17:53 -0700)]
Flesh out SkMatrix typemask suppressions.
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
374763002
mtklein [Tue, 8 Jul 2014 00:18:50 +0000 (17:18 -0700)]
Another suppression, this in SkMatrix caching the typemask.
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
372103005
mtklein [Mon, 7 Jul 2014 23:28:46 +0000 (16:28 -0700)]
Suppress race to cache SkPathRef bounds.
This should be fixed naturally soon, and it's an innocuous race (some paths
may have their bounds calculated more than once), so we can just quiet it for now.
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
376733003
mtklein [Mon, 7 Jul 2014 23:17:36 +0000 (16:17 -0700)]
Turn on threaded DMQuiltTask drawing for old-format SkPictures too.
This required the same SkBitmap copying that we added today to SkRecord.
BUG=skia:
R=reed@android.com, robertphillips@google.com, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
375703002
reed [Mon, 7 Jul 2014 22:54:20 +0000 (15:54 -0700)]
remove unneeded flag for android
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/
372133003
bungeman [Mon, 7 Jul 2014 22:46:00 +0000 (15:46 -0700)]
Handle close button in SkOSWindow_Unix.
Currently X with most Window managers calls 'exit' when the close button
is used. This can cause issues as the Window is not properly destroyed.
With this change we can handle this window message and properly exit.
R=reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/
377733002
mtklein [Mon, 7 Jul 2014 22:44:00 +0000 (15:44 -0700)]
Suppress getRefCnt() calls from SkImageFilter.
BUG=skia:2726
R=jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
373863002
reed [Mon, 7 Jul 2014 22:17:49 +0000 (15:17 -0700)]
Revert of Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. (https://codereview.chromium.org/
377503004/)
Reason for revert:
broke linux builders
Original issue's description:
> Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
>
> Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
>
> Make GrEffectRef a typedef for GrEffect.
>
> Committed: https://skia.googlesource.com/skia/+/
2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com, bsalomon@google.com
TBR=bsalomon@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/
372053003
bsalomon [Mon, 7 Jul 2014 22:11:31 +0000 (15:11 -0700)]
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
377503004
sugoi [Mon, 7 Jul 2014 22:09:48 +0000 (15:09 -0700)]
YUV to RGB converter
This is a first piece of the GPU YUV decoder, which is the actual effect that performs the conversion. For now, it simply applies the conversion matrix, since it is all I need. I may add modes if different matrices need to be applied or if I add color profile support here.
I'll try to keep these cls short and easy to review, but there should be a few of them coming once this one is in.
BUG=skia:
R=senorblanco@chromium.org, senorblanco@google.com, reed@google.com, bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/
378503006
reed [Mon, 7 Jul 2014 21:59:31 +0000 (14:59 -0700)]
guard registering mallocpixelref for chrome
companion to https://codereview.chromium.org/
320873003
NOTRY=True
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/
373903002
reed [Mon, 7 Jul 2014 21:45:11 +0000 (14:45 -0700)]
remove unneeded flags (have been purged from chrome and android)
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/
372793003
reed [Mon, 7 Jul 2014 21:32:06 +0000 (14:32 -0700)]
change pixelref to not inherit from SkFlattenable
If I can "inline" MallocPixelRef unflatten, then I think we can delete this code. The only caller today should be unflattening in the legacy path for bitmaps.
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/
320873003
reed [Mon, 7 Jul 2014 20:51:48 +0000 (13:51 -0700)]
remove SK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUE
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/
373853002
reed [Mon, 7 Jul 2014 20:48:59 +0000 (13:48 -0700)]
remove unneeded flags for android
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/
369683004
robertphillips [Mon, 7 Jul 2014 20:46:35 +0000 (13:46 -0700)]
Split SkPicturePlayback out of SkPictureData
This splits the playback functionality out of SkPictureData. The old SkPictureData::draw method is pulled out along
with its supporting functions as verbatim as possible. Some follow on CLs will be required to:
re-enable profiling in the debugger (and remove the vestiges of SkTimedPicture)
re-enable display of command offsets in the picture (this should probably wait until we've switched to SkRecord though)
Clean up CachedOperationList (maybe fuse with SkPicture::OperationList)
Split SkPicturePlayback into a base class and two derived classes
Implement parallel version of GatherGPUInfo for SkRecord
Landing this is blocked on removing Android's use of the abortPlayback entry point.
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/
377623002
mtklein [Mon, 7 Jul 2014 20:11:29 +0000 (13:11 -0700)]
Suppress new TSAN warnings from DMQuiltTask.
We're racing to invalidate the genID of our pixel ref when multiple
threads write into it, and also to call its genID-changed listeners.
We install no listeners on this particular pixel ref, nor do we ever
care about its genID at all. So these are benign races, races on
data we never make a decision from.
BUG=skia:2725
R=jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
370353004
mtklein [Mon, 7 Jul 2014 19:33:27 +0000 (12:33 -0700)]
Remove SK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK.
Skia no longer looks at this define. It's as if it's always set now.
BUG=skia:
R=scroggo@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
368953005
reed [Mon, 7 Jul 2014 19:30:28 +0000 (12:30 -0700)]
don't look at SK_SCALAR_IS_FLOAT -- it is true, but no longer defined
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/
371033004
bsalomon [Mon, 7 Jul 2014 18:54:23 +0000 (11:54 -0700)]
Remove use of GrEffectRef from draw state and below.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
372773002
scroggo [Mon, 7 Jul 2014 18:41:39 +0000 (11:41 -0700)]
Add return to SkBoxBlurGetPlatformProcs_SSE4.
This fixes Android build.
R=reed@google.com, mtklein@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/
378613002
bsalomon [Mon, 7 Jul 2014 17:46:58 +0000 (10:46 -0700)]
gpu and cpu flags for gm and bench.
BUG=skia:2074
R=borenet@google.com, mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
376643002
bsalomon [Mon, 7 Jul 2014 17:46:32 +0000 (10:46 -0700)]
Remove GrEffectStage::DeferredStage
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/
373603005
mtklein [Mon, 7 Jul 2014 17:41:04 +0000 (10:41 -0700)]
Add always-threaded SkRecord quilt tests.
Now that we're drawing tiles threaded like implside painting, remove the checks
that those lock counts are balanced. They're just not right for anyone anymore.
SkBitmaps themselves are not threadsafe (even const ones), so shallow copy them
on playback of an SkRecord. (The underlying SkPixelRefs are threadsafe.)
Simplify quilt drawing by using SkBitmap::extractSubset. No need for locking.
Bump up to 256x256 tiles. 16x16 tiles just murders performance (way too much
contention). This has the nice side effect of letting us enable a bunch more
GMs for quilt mode; they drew wrong with small tiles but exactly right with large.
BUG=171776
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
371023005