cdalton
b85a0aab69
Add a GrPathRange class
...
Adds a GrPathRange object that represents a range of paths on the gpu.
Updates GrDrawTarget::drawPaths and supporting code to use GrPathRange
instead of an array of GrPath objects.
Change-Id: I67845f3893cd4d955db947d699aa3733cbb081e0
BUG=skia:
R=bsalomon@google.com , jvanverth@google.com , kkinnunen@nvidia.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/400713003
2014-07-21 15:32:44 -07:00
bsalomon
dcabb05113
Make GrCacheable implement its own ref counting.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/392333008
2014-07-21 14:24:01 -07:00
sugoi
518d83dbc1
Skia side RGB to YUV gpu conversion
...
This code is the one that's currently working in my local chromium build. A few things still need to be addressed and I'll highlight these directly in the code.
BUG=skia:
R=reed@google.com , bsalomon@google.com , senorblanco@google.com , senorblanco@chromium.org , robertphillips@google.com , scroggo@google.com , halcanary@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/374743003
2014-07-21 11:37:39 -07:00
bungeman
733418f91e
Remove SkRefPtr.
...
R=mtklein@google.com , reed@google.com , bsalomon@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/393913002
2014-07-17 12:17:55 -07:00
reed
b959ec7815
factor out flattening/unflattening of common fields from SkImageFilter
...
This is a precursor to changing SkImageFilters (and all effects) to unflatten via a factory instead of a constructor. In that world, each subclass of ImageFilter will need to control/initiate the unflattening of the common fields, so they can be extract and passed to their Factory.
R=senorblanco@google.com , robertphillips@google.com , mtklein@google.com , senorblanco@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/395273002
2014-07-17 07:03:09 -07:00
halcanary
805ef159d1
Set maximum output size for scaled-image-cache images
...
Accessable via:
SkScaledImageCache::{G,S}etMaximumOutputSizeForHighQualityFilter
Also, a unit test.
BUG=389439
R=humper@google.com , tomhudson@google.com , reveman@chromium.org , vangelis@chromium.org , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/394003003
2014-07-17 06:58:01 -07:00
Mike Klein
0b4cc892cb
Disable assertion of fBoundsIsDirty.
...
We allow this to be raced on, and it may have already become not-dirty by the
time we get to this function if computed by another thread.
BUG=skia:
Review URL: https://codereview.chromium.org/398913002
2014-07-16 17:18:20 -04:00
Mike Klein
e7fd6db41a
Remove yet-unused 64-bit atomic hooks.
...
For now, I think we'll just be using sk_atomic_inc on 64-bit values, so
let's cut out the dead code for now.
NOTREECHECKS=true
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/398003004
2014-07-16 15:20:58 -04:00
scroggo
0847059fcf
Remove kImageIsImmutable_Flag.
...
This flag was only used when setting or checking SkBitmap's
immutability when it did not have an SkPixelRef. Now that an
SkBitmap *must* have one in order to draw (e.g. you can no
longer have an SkBitmap that owns its pixels directly), its
immutabity without an SkPixelRef makes no sense.
Also, now that the flags are not contiguous starting from
0x01, use a more appropriate check to ensure only meaningful
flags are used.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/387083002
2014-07-15 19:56:48 -07:00
mtklein
a179a1ede9
SkAutoRef seems lonely. Might as well delete it.
...
(On the other hand, SkAutoUnref is well-used.)
NOTREECHECKS=true
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/393953004
2014-07-15 13:29:34 -07:00
reed
f59eab2693
patch from issue 383923002
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/394603003
2014-07-14 14:39:15 -07:00
reed
3b72f79289
remove unused SkPixelRef constructor
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/390893002
2014-07-14 10:13:57 -07:00
reed
ed458688e2
remove SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE code
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/387313004
2014-07-14 09:21:31 -07:00
scroggo
7e4b2b5027
Remove unused kImageIsOpaque_Flag.
...
This flag is never set or read. We now look at the alpha type to
determine opacity.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/385943003
2014-07-14 07:53:18 -07:00
piotaixr
cef04f8188
Deleted SkImage::newShaderClamp: not used, not implemented.
...
Implemented SkImage::newShader.
BUG=skia:2701, 344804
R=junov@chromium.org , reed@chromium.org , bsalomon@chromium.org , reed@google.com
Author: piotaixr@chromium.org
Review URL: https://codereview.chromium.org/345463009
2014-07-14 07:48:04 -07:00
Robert Phillips
cfaeec446d
Remove Skia's use of the default SkPicture constructor and multi-clone
...
This cannot be landed until (Chrome: Switch to one-at-a-time SkPicture::clone interface - https://codereview.chromium.org/380323002/ ) has landed.
R=mtklein@google.com
TBR=reed@google.com
Review URL: https://codereview.chromium.org/388833003
2014-07-13 12:00:50 -04:00
robertphillips
dd528967fc
Remove SkPicture copy constructor
...
Given where we're heading with SkPicture why would you need to make a copy?
R=reed@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/381133002
2014-07-13 07:55:53 -07:00
reed
b184f7f52b
Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels
...
This reverts commit 651eaeadeb
.
TBR=
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/390693002
2014-07-13 04:32:32 -07:00
reed
651eaeadeb
Revert of Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels ( https://codereview.chromium.org/388803007/ )
...
Reason for revert:
still failing (randomly?) bench sometimes. need stack dump to diagnose.
Original issue's description:
> Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels
> usning it.
>
> Revert "Revert of add readPixels() to SkBitmap (https://codereview.chromium.org/377303002/ )"
>
> This reverts commit d08cb905a7
.
>
> TBR=scroggo@google.com
>
> Committed: https://skia.googlesource.com/skia/+/debba5c3d091159149f8a88ab5dcd44dd72e0dc7
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/382543005
2014-07-12 13:16:10 -07:00
reed
debba5c3d0
Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels
...
usning it.
Revert "Revert of add readPixels() to SkBitmap (https://codereview.chromium.org/377303002/ )"
This reverts commit d08cb905a7
.
R=reed@chromium.org
TBR=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/388803007
2014-07-12 12:26:36 -07:00
caryclark
936b73424f
ios fixes
...
skia_ios.mm
Get the app's Documents directory and pass use it to set the resource path.
This is a quick hack which will be replaced by a new application that is
a tiny shim around a command line tool.
SkImageEncoder.h
SkForceLinking.cpp
SkImageDecoder_CG.cpp
Add support for FORCE_LINKING so iOS sees the PNG encoder and others.
SkFloatBits.cpp
SkPoint.cpp
Handle denormalized numbers that are floored by the iOS ARM processor.
SkImageDecoder_iOS.mm
Remove empty encoder factory.
SkTouchGesture.cpp
Return early on empty state on touch rather than aborting (crashing)
JpegTest.cpp
Hal via stackoverflow.com says partial jpegs can be gray as well.
skia_test.cpp
Remove crash handler call for now to avoid link failure.
OverwriteLine.h
Remove fancy line overwrite for iOS.
Resources.cpp
Add interface to set resource directory based on runtime query.
BUG=skia:2736 skia:2737 skia:2738
R=reed@google.com , halcanary@google.com , mtklein@google.com , tfarina@chromium.org
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/373383003
2014-07-11 12:14:51 -07:00
scroggo
ef0fd61dc2
Remove SK_SUPPORT_LEGACY_SHADER_LOCALMATRIX.
...
This is no longer needed by Android.
BUG=skia:1976
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/379323002
2014-07-11 11:33:52 -07:00
scroggo
c870d494dd
Use SkShader's localMat for SkLocalMatrixShader.
...
Instead of setting SkShader::fLocalMatrix to Identity and storing
a separate SkMatrix inside SkLocalMatrixShader, reuse
SkShader::fLocalMatrix.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/386693003
2014-07-11 10:42:12 -07:00
bsalomon
00a8fae0ce
Add support for 64bit atomic inc/dec/cas
...
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377073002
2014-07-11 08:42:11 -07:00
jcgregorio
d08cb905a7
Revert of add readPixels() to SkBitmap ( https://codereview.chromium.org/377303002/ )
...
Reason for revert:
Maybe causing crashes in bench.
http://108.170.220.120:10117/builders/Test-ChromeOS-Daisy-MaliT604-Arm7-Debug/builds/2608/steps/RunBench/logs/stdio
Original issue's description:
> add readPixels() to SkBitmap
>
> BUG=chromium:390782
>
> Committed: https://skia.googlesource.com/skia/+/c4f216151b6ade70c35fade09a353052f40236b1
R=scroggo@google.com , bsalomon@google.com , reed@google.com
TBR=bsalomon@google.com , reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=chromium:390782
Author: jcgregorio@google.com
Review URL: https://codereview.chromium.org/382243003
2014-07-11 07:48:20 -07:00
robertphillips
ffc75efc1a
Revert of Add alternate SkPicture::clone ( https://codereview.chromium.org/381193002/ )
...
Reason for revert:
Going to try to just remove the many-at-once clone interface
Original issue's description:
> 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/ )
>
> Committed: https://skia.googlesource.com/skia/+/e372e78223a8ce916d276d6e0420d552fb0267e9
R=mtklein@google.com , reed@google.com
TBR=mtklein@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/386933004
2014-07-11 06:45:58 -07:00
bungeman
bf0b9ced0b
Add file access modes to sk_exists.
...
Both Windows and Posix 'access' calls take a mode parameter which,
in addition to checking existence, checks access modes.
This change exposes this functionality.
R=mtklein@google.com , reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/384903002
2014-07-10 15:18:23 -07:00
reed
c4f216151b
add readPixels() to SkBitmap
...
BUG=chromium:390782
R=scroggo@google.com , bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/377303002
2014-07-10 14:15:57 -07:00
robertphillips
e372e78223
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
2014-07-10 14:10:58 -07:00
mtklein
42483d9026
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
2014-07-10 11:11:50 -07:00
mtklein
497cda3a6b
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
2014-07-10 10:38:22 -07:00
robertphillips
6142609b22
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
2014-07-10 09:35:12 -07:00
robertphillips
c26d991bf2
Split SkPictureReplacementPlayback out of SkPicturePlayback
...
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/383733002
2014-07-10 07:21:27 -07:00
reed
da03653f34
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
2014-07-09 17:28:19 -07:00
ehsan.akhgari
db5f7bf0a4
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
2014-07-09 11:13:55 -07:00
tfarina
e53363fa7c
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
2014-07-09 09:18:05 -07:00
mtklein
bd7746da97
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
2014-07-09 07:52:32 -07:00
Mike Klein
874a62acef
Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()."
...
This reverts commit 4ae94ffce5
.
BUG=skia:
Review URL: https://codereview.chromium.org/382523002
2014-07-09 09:04:07 -04:00
mtklein
0b544ae222
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
2014-07-08 19:37:47 -07:00
mtklein
d3f3e5895e
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
2014-07-08 14:06:46 -07:00
mtklein
7b17547bc8
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
2014-07-08 14:04:45 -07:00
Mike Klein
f7a180b10f
Missing volatile in AnnotateBenignRaceSized declaration.
...
BUG=skia:
Review URL: https://codereview.chromium.org/380473002
2014-07-08 15:54:06 -04:00
mtklein
d5e3e6ae1b
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
2014-07-08 12:30:39 -07:00
reed
be08aceaab
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
2014-07-08 11:15:59 -07:00
Robert Phillips
004522f91c
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
2014-07-08 12:58:20 -04:00
bsalomon
83d081ae1d
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
2014-07-08 09:56:11 -07:00
senorblanco
9ea3d57fde
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
2014-07-08 09:16:22 -07:00
robertphillips
6daadc7481
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
2014-07-08 08:38:18 -07:00
bsalomon
97b9ab72cd
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
2014-07-08 06:52:35 -07:00
mtklein
4ae94ffce5
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
2014-07-08 06:48:17 -07:00
robertphillips
3afef1f75f
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
2014-07-08 06:12:22 -07:00
reed
beaf62da36
remove unneeded flag for android
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/372133003
2014-07-07 15:54:20 -07:00
reed
969842ac9c
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
2014-07-07 15:17:49 -07:00
bsalomon
2011fe9cdf
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
2014-07-07 15:11:31 -07:00
reed
060c41a499
remove unneeded flags (have been purged from chrome and android)
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/372793003
2014-07-07 14:45:11 -07:00
reed
9a9eae21ed
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
2014-07-07 14:32:06 -07:00
reed
620fc60b04
remove SK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUE
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/373853002
2014-07-07 13:51:48 -07:00
robertphillips
ce4dd3de38
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
2014-07-07 13:46:35 -07:00
tomhudson
d930511ee7
Linear-time implementation of willPlaybackBitmaps(), computed & cached
...
on construction in SkPicture. Unit test.
Template trickery thanks to mtklein@.
BUG=skia:2702
R=mtklein@google.com , reed@android.com , reed@google.com , tomhudson@google.com , mtklein, reed
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/366443002
2014-07-05 13:37:53 -07:00
reed
e1085e0381
move SkChecksum and SkEmptyShader to private
...
TBR=reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/366133002
2014-07-03 07:26:01 -07:00
reed
f0aed97aec
correctly plumb through explicit rowbytes for allocPixels
...
BUG=skia:
R=caryclark@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/357073003
2014-07-01 12:48:11 -07:00
fmalita
696d361176
Temporarily resurface matrix/clip save flags enum values.
...
Pending Android build fixes.
R=reed@google.com , scroggo@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/365463005
2014-07-01 11:55:41 -07:00
robertphillips
db539905bb
Rename SkPicturePlayback to SkPictureData
...
This is in preparation for splitting the playback portion of the new SkPictureData class into a new SkPicturePlayback class.
R=reed@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/362773002
2014-07-01 08:47:04 -07:00
scroggo
2fd0d14b9b
Adjust the alpha type for pixelRefs.
...
Move SkBitmap's validate_alphaType to SkImageInfo, with the new
name SkColorTypeValidateAlphaType. Use it in SkPixelRef's constructors,
as well as in SkDecodingImageGenerator. This fixes a bug where an
SkPixelRef's SkAlphaType could get out of sync with its SkBitmap,
when both were assigned the same SkAlphaType.
R=reed@google.com , halcanary@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/346593003
2014-07-01 07:08:20 -07:00
reed
e6772216b4
add SK_API to config helpers so chrome can call them
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/359353003
2014-06-30 14:00:41 -07:00
reed
6c6ddb8805
update dox
...
TBR=
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/352873003
2014-06-30 12:44:03 -07:00
reed
52d9ac6c92
stop calling SkCanvas::getDevice
...
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com , junov@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/355193006
2014-06-30 09:05:34 -07:00
robertphillips
952841bf41
Begin atlasing
...
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache
#1 is on hold until we have a recycling rectanizer
A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/354533004
2014-06-30 08:26:50 -07:00
Florin Malita
5f6102d079
SaveFlags be-gone
...
Remove the deprecated save(SaveFlags), willSave(SaveFlags) and all
traces of kMatrix_SaveFlags/kClip_SaveFlag.
BUG=skia:2297
R=mtklein@google.com , reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/340403003
2014-06-30 10:13:28 -04:00
robertphillips
e462f2bed3
Revert of Begin atlasing ( https://codereview.chromium.org/354533004/ )
...
Reason for revert:
Sigh
Original issue's description:
> Begin atlasing
>
> This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
>
> 1) the atlased layers cannot be purged nor aged out
> 2) the texture backing the atlas is not pulled from (or returned to) the resource cache
>
> #1 is on hold until we have a recycling rectanizer
>
> A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
>
> Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/359953002
2014-06-29 17:16:27 -07:00
robertphillips
55e61f0ef4
Begin atlasing
...
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache
#1 is on hold until we have a recycling rectanizer
A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/354533004
2014-06-29 15:08:31 -07:00
reed
bae704b050
add rowbytes option to allocPixels
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/345263005
2014-06-28 14:26:36 -07:00
reed
ce41ad1b33
remove SK_SUPPORT_LEGACY_INSTALLPIXELSPARAMS code
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/359143002
2014-06-28 13:25:31 -07:00
mtklein
d3e474e20c
Deprecate SkPicture::clone().
...
Chrome will need -DSK_SUPPORT_LEGACY_PICTURE_CLONE.
This removes the modes from our tools that use clone(). No
bots run these. DM used clone() in a way that we can just
share the picture now.
I plan to bring back the ability to test multithreaded
picture rendering soon.
BUG=skia:2378
R=robertphillips@google.com , mtklein@google.com , bsalomon@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/338633011
2014-06-27 12:34:44 -07:00
reed
89443aba5b
change gpudevice and pdfdevice to inherit from basedevice
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/354133002
2014-06-27 11:34:19 -07:00
reed
982542dce8
add SkSurface::NewRasterDirectReleaseProc
...
allows for lifetime control of pixel memory on raster surface
BUG=skia:
R=fmalita@google.com , bsalomon@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/351373005
2014-06-27 06:48:14 -07:00
reed
0766931dc4
delete code for SK_SUPPORT_LEGACY_GETTOTALCLIP
...
TBR=
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/354953008
2014-06-27 04:49:12 -07:00
Mike Klein
93fabf4847
Don't set SK_MALLOC_TEMP in SkAutoTMalloc.
...
Unlike SkAutoSTMalloc, it doesn't make sense for SkAutoTMalloc to set
SK_MALLOC_TEMP. See SkAutoMalloc/SkAutoSMalloc for similar in the void*
world.(This change is a documentation-only no-op. No code pays any
attention to SK_MALLOC_TEMP.)
BUG=skia:
R=halcanary@google.com
Review URL: https://codereview.chromium.org/356913003
2014-06-26 11:04:28 -04:00
bsalomon
3f547cb6a7
Add SK_API to SkWriter32
...
R=mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/356053002
2014-06-26 08:01:14 -07:00
caryclark
66a5d8bf13
add path dump test
...
Add a unit test for SkPath::dump(). The unit test exposed a minor
bug (inconsistent CRs) and an unused parameter (title).
R=bsalomon@google.com
TBR=bsalomon
BUG=skia:1836
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/351833003
2014-06-24 08:30:18 -07:00
Mike Klein
c11530ea73
Tick off some TODOs:
...
- support fRecord in copy constructor
- support SkDrawPictureCallback
Moved SkDrawPictureCallback to its own header so
SkRecordDraw can include it without pulling in all of
SkPicture.
Adding an SkAutoSaveRestore to SkRecordDraw was the easiest
way to match the balance guarantees of the callback, and
probably not a bad idea in general. Updated its tests.
BUG=skia:
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/349973008
2014-06-24 11:29:06 -04:00
kkinnunen
c6cb56f36c
Implement text rendering with NVPR
...
Use path rendering to render the text from outlines if supported by the
GPU. Implement this in GrStencilAndCoverTextContext by copying chunks of code
from GrBitmapTextContext.
The drawing is implemented with "instanced" path drawing functions.
Moves the creation of the "main" text context from SkGpuDevice to the
GrContext::createTextContext. This is done because the decision of which text
renderer is optimal can be made only with the internal implementation-specific
information of the context.
Remove a windows assertion from SkScalerContext_GDI::getGDIGlyphPath. The
GetGlyphOutlineW fails in fontmgr_match for the initial space char in the string
" [700] ...". According to MSDN, this is a known problem. Just return that the
glyph has no path data in these cases.
R=jvanverth@google.com , bsalomon@google.com , mtklein@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/196133014
2014-06-24 00:12:27 -07:00
Mike Klein
6fc763e3c2
No one uses SkPicture::swap.
...
BUG=skia:
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/349313004
2014-06-23 15:29:52 -04:00
Mike Klein
744fb7313f
Enable basic drawing with SkRecord-based pictures.
...
I've tagged all the functions in SkPicture.cpp is // fRecord TODO or // fRecord
OK, depending on whether or not they're totally broken when used from an
SkRecord-based picture. Obviously next steps are to eliminate all the TODOs,
then clean up the notes.
I converted SkPicture over to smart pointers too. It's particularly helpful
that the smart pointers initialize to NULL by default.
For now I've got all the SkRecord-based code jammed in at the bottom of the file. I figure it'll help me keep things straight for a bit, then we can rearrange later.
BUG=skia:
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/333823007
2014-06-23 15:13:26 -04:00
Mike Klein
f22b6b5883
Use smart pointers to make SkPictureRecorder lifetimes less manual.
...
BUG=skia:
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/344253005
2014-06-23 13:29:10 -04:00
rmistry
c4b84aef1a
Revert of Revert of Fix SkPaint::measureText for stroked hairline text ( https://codereview.chromium.org/354433002/ )
...
Reason for revert:
Rebaseline CL is ready to be submitted
Original issue's description:
> Revert of Fix SkPaint::measureText for stroked hairline text (https://codereview.chromium.org/335603003/ )
>
> Reason for revert:
> Caused many shadertext GM failures
>
> Original issue's description:
> > Fix SkPaint::measureText for stroked hairline text
> >
> > SkPaint::measureText and text drawing used different criteria for
> > determining whether text should be drawn as paths or not.
> >
> > Adds tests glyph_pos_(h/n)_(s/f/b) to test the text rendering and the glyph
> > positioning in the rendering. Mainly added in order to define what is the
> > expected text rendering when hairline stroke is used with various transform
> > options.
> >
> > The testcase also tries to note or highlight the fact that SkPaint::measureText
> > is not expected to produce intuitively matching results when compared to a
> > rendering, if the rendering is done so that the device ends up having a device
> > transform.
> >
> > This fixes the glyph_pos_h_s (hairline, stroked) test-case.
> >
> > Ignore shadertext2_pdf-poppler.png gm on
> > Test-Ubuntu13.10-ShuttleA-NoGPU-x86_64-Debug temporarily, as that fails.
> >
> > Committed: https://skia.googlesource.com/skia/+/196af738027c5e18c3eb792dbcaf90ef27821793
>
> TBR=jvanverth@google.com ,reed@google.com,kkinnunen@nvidia.com
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/abc9bb55ddfeb4b1a7acc335a34841fddcd22d27
R=jvanverth@google.com , reed@google.com , kkinnunen@nvidia.com
TBR=jvanverth@google.com , kkinnunen@nvidia.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/349153005
2014-06-23 06:59:15 -07:00
rmistry
abc9bb55dd
Revert of Fix SkPaint::measureText for stroked hairline text ( https://codereview.chromium.org/335603003/ )
...
Reason for revert:
Caused many shadertext GM failures
Original issue's description:
> Fix SkPaint::measureText for stroked hairline text
>
> SkPaint::measureText and text drawing used different criteria for
> determining whether text should be drawn as paths or not.
>
> Adds tests glyph_pos_(h/n)_(s/f/b) to test the text rendering and the glyph
> positioning in the rendering. Mainly added in order to define what is the
> expected text rendering when hairline stroke is used with various transform
> options.
>
> The testcase also tries to note or highlight the fact that SkPaint::measureText
> is not expected to produce intuitively matching results when compared to a
> rendering, if the rendering is done so that the device ends up having a device
> transform.
>
> This fixes the glyph_pos_h_s (hairline, stroked) test-case.
>
> Ignore shadertext2_pdf-poppler.png gm on
> Test-Ubuntu13.10-ShuttleA-NoGPU-x86_64-Debug temporarily, as that fails.
>
> Committed: https://skia.googlesource.com/skia/+/196af738027c5e18c3eb792dbcaf90ef27821793
R=jvanverth@google.com , reed@google.com , kkinnunen@nvidia.com
TBR=jvanverth@google.com , kkinnunen@nvidia.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/354433002
2014-06-23 05:39:26 -07:00
kkinnunen
196af73802
Fix SkPaint::measureText for stroked hairline text
...
SkPaint::measureText and text drawing used different criteria for
determining whether text should be drawn as paths or not.
Adds tests glyph_pos_(h/n)_(s/f/b) to test the text rendering and the glyph
positioning in the rendering. Mainly added in order to define what is the
expected text rendering when hairline stroke is used with various transform
options.
The testcase also tries to note or highlight the fact that SkPaint::measureText
is not expected to produce intuitively matching results when compared to a
rendering, if the rendering is done so that the device ends up having a device
transform.
This fixes the glyph_pos_h_s (hairline, stroked) test-case.
Ignore shadertext2_pdf-poppler.png gm on
Test-Ubuntu13.10-ShuttleA-NoGPU-x86_64-Debug temporarily, as that fails.
R=jvanverth@google.com , reed@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/335603003
2014-06-22 22:18:14 -07:00
vandebo
0f9bad01b0
[PDF] Fix font embedding restrictions.
...
Stop using restricted font outlines and honor don't subset restriction.
Resubmit of r12600.
R=halcanary@google.com , bungeman@google.com , reed@google.com
Author: vandebo@chromium.org
Review URL: https://codereview.chromium.org/334443002
2014-06-19 11:05:39 -07:00
mtklein
3f73e8c8d5
CrashHandler for Windows.
...
Plus, print out assertion failures on Windows,
and some little tweaks to CrashHandler on other platforms for consistency.
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/340523007
2014-06-19 07:41:59 -07:00
reed
9f0147143f
Revert of remove guarded code - there are no more callers ( https://codereview.chromium.org/343783002/ )
...
Reason for revert:
webkit still uses getTotalClip -- need to find where they define the guard.
../../skia/ext/skia_utils_mac.mm:400:42: error: no member named 'getTotalClip' in 'SkCanvas'
const SkRegion& clipRgn = canvas_->getTotalClip();
~~~~~~~ ^
Original issue's description:
> remove guarded code - there are no more callers
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c5d5cf9489977aa6fba077d1dc242029fbb4859e
R=scroggo@google.com , reed@google.com
TBR=reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/342843002
2014-06-18 15:51:20 -07:00
reed
c5d5cf9489
remove guarded code - there are no more callers
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/343783002
2014-06-18 14:41:26 -07:00
djsollen
1d7975b1c0
Remove unused class from the Android framework build
...
R=reed@google.com , scroggo@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/345613002
2014-06-18 12:35:10 -07:00
mtklein
b59161f000
Add SkASSERTF.
...
Example failure:
fRefCnt was 3
../../../usr/local/google/home/mtklein/skia/include/core/SkRefCnt.h:40: failed assertion "(fRefCnt == 1) || (SkDebugf("fRefCnt was %d""\n", fRefCnt), false)"
Command terminated by signal 11
Not pretty, but everything's there. Perhaps we'll think of ways to make it nicer later.
BUG=skia:
R=bsalomon@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/337243004
2014-06-18 07:54:47 -07:00
fmalita
6ca763f362
More SaveFlags removal twiddling.
...
This is a follow up to https://codereview.chromium.org/338913002/ . More
tweaks to allow migrating clients to the new API.
1) switch the shim call direction willSave(SaveFlags) -> willSave()
(internal users are still using the former, so external overriders of
the latter will not be notified otherwise - doh)
2) ensure willSave() stays visible in SkProxyCanvas (Chromium's
TimingCanvas attempts to call it explicitly).
BUG=skia:2297
R=reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/334393008
2014-06-17 13:52:18 -07:00
djsollen
dbb7b30429
Update the name of the friended android class and add the appropriate guards.
...
R=scroggo@google.com , robertphillips@google.com , reed@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/344473002
2014-06-17 13:42:59 -07:00
mtklein
887f3979f0
Add EXPERIMENTAL_beginRecording() for SkRecord-based recording.
...
The interesting stuff is in SkPictureRecorder.{h,cpp}. The rest is mostly moving SkRecord from its own directories into core to avoid circular dependencies in GYP.
After plumbing SkRecord all the way through in Picture, I'll delete its old entry point include/record/SkRecording.h. For now it and record.gypi need to stay where they are to keep Chrome building.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/331573004
2014-06-17 12:08:16 -07:00
reed
859b92448b
move some headers out of public
...
patch from issue 338263003
BUG=skia:
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/339183002
2014-06-17 09:04:45 -07:00
reed
c3b3266b7d
hide SkBitmap::Config entirely (behind a flag)
...
patch from issue 339463002
TBR=
I think the NoGPU failure is unrelated, so ignoring
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/340533002
2014-06-17 08:38:31 -07:00
mtklein
a272d6d065
Move SkStringUtils.h to src/core.
...
Doesn't need to be in include/.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/335413004
2014-06-17 07:42:35 -07:00
fmalita
07fc662d7e
Prepare for internal SaveFlags removal.
...
Chromium has a couple of SkCanvas subclasses which override willSave().
This adds a transitional shim to facilitate converting these to the
parameter-less API.
BUG=skia:2297
R=reed@google.com , scroggo@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/338913002
2014-06-16 12:13:39 -07:00
reed
885f2ea46e
fix legacy code path for SK_SUPPORT_LEGACY_IMAGEDECODER_CONFIG
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/332223002
2014-06-16 08:25:57 -07:00
reed
f252f64f17
hide virtuals on device for width/height/isopaque
...
R=bsalomon@google.com
NOTREECHECKS=True
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334993002
2014-06-14 04:24:57 -07:00
reed
bfefc7c95f
hide Config in SkImageDecoder -- use SkColorType instead
...
patch from issue 334613003
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334793002
2014-06-12 17:40:00 -07:00
robertphillips
02830f0448
Remove SkPicture SK_SUPPORT_LEGACY_RECORDING_FLAG flag
...
Chromium/Blink should no longer need this flag after:
Chromium: Remove use of kUsePathBoundsForClip_RecordingFlag https://codereview.chromium.org/322123002/
Blink: Remove use of kUsePathBoundsForClip_RecordingFlag https://codereview.chromium.org/326953002/
R=mtklein@google.com , scroggo@google.com , reed@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/328343002
2014-06-12 12:56:58 -07:00
egdaniel
e61c411c12
Use vertex attributes for dash effect in gpu
...
This will allow us to batch dashed lines together when drawing. Also, this removes the need for
a coord transform matrix in the shader, thus we save the cost of uploading a new matrix uniform
everytime we do a simple transform to the dashed line we are drawing.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/326103002
2014-06-12 10:24:21 -07:00
reed
2f785a24eb
remove GetDeviceConfig/SetDeviceConfig
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/332453002
2014-06-12 09:21:31 -07:00
robertphillips
e26e65e8f8
Remove SkPicture pointer from SkPicturePlayback
...
This CL simplifies the relationship between SkPicture and SkPicturePlayback by moving the path heap into SkPicturePlayback and removing SkPicturePlayback's SkPicture pointer.
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/334493002
2014-06-12 05:51:22 -07:00
robertphillips
0bdbea75ff
Remove picture pre-allocation from SkPictureRecorder
...
This CL improves the separation of the SkPicture and SkPictureRecord classes. It delays creation of the SkPicture (in SkPictureRecorder) until recording is actually completed. To accomplish this the SkRecord-derived classes now get SkPathHeap and SkPictureContentInfo members that are absorbed by the SkPicture when it is constructed.
As an ancillary change, this CL also moves the SkPictureContentInfo object from SkPicture to SkPicturePlayback. This is intended to centralize all the data in the SkPicturePlayback object.
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/324293004
2014-06-11 11:37:55 -07:00
reed
5926b86b90
hide SkImageDecoder::Chooser
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/331433003
2014-06-11 10:33:13 -07:00
reed
4585144956
remove SK_SUPPORT_LEGACY_DEVICE_CONFIG code
...
BUG=skia:
R=djsollen@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/327263002
2014-06-11 07:17:11 -07:00
reed
e4538f5b46
switch to colortype for deepcopy
...
BUG=skia:
R=robertphillips@google.com , bsalomon@google.com , reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/323283002
2014-06-11 06:09:50 -07:00
dandov
9de5b514d3
SkShader::asNewEffect Refactoring
...
The new signature is:
bool asNewEffect(GrContext* context, const SkPaint& paint, GrColor* grColor, GrEffectRef** grEffect, const SkMatrix* localMatrixOrNull) const;
It will fix the hack for skcolorshader by modifying the GrColor parameter in SkGr::SkPaint2GrPaintShader.
BUG=skia:2646
R=jvanverth@google.com , bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/318923005
2014-06-10 14:38:28 -07:00
robertphillips
6de27127c4
Remove unused 'deepCopy' parameter
...
This is split out of https://codereview.chromium.org/316063005/ for clarity. Keeping in mind that SkPicture::FakeEndRecording is now only called from SkPictureRecorder, its deepCopy parameter is no longer necessary. This is b.c., given the new Picture recording semantics (where SkPictures can no longer be actively recording), cloning for thread safety only happens when an SkPicturePlayback has already been allocated (i.e., it happens in the SkPicturePlayback copy constructor.
R=scroggo@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/324093003
2014-06-10 09:23:06 -07:00
robertphillips
074fe9df94
Remove legacy drawPicture entry point
...
With Skia 5713352a
(Chromium should no longer need the legacy SkCanvas::drawPicture interface - https://codereview.chromium.org/317193002/ ) this code should no longer be needed.
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/324703002
2014-06-10 07:20:48 -07:00
jvanverth
2d2a68c51b
Gamma correction for distance field text.
...
Handles both non-LCD and LCD text. Uses a texture to look up the gamma correction values for a given text color or luminance.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/4d517fdbb145cb95e5e935470df331e1b6667cfc
R=reed@google.com , bungeman@google.com , robertphillips@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/258883002
2014-06-10 06:42:56 -07:00
reed
6c22573edb
hide SkBitmap::setConfig
...
patch from issue 325733002
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/322963002
2014-06-09 19:52:07 -07:00
mtklein
b83f6c3cbd
Add assertHeld() to SkMutex.
...
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/313823004
2014-06-09 14:18:03 -07:00
scroggo
919ed4c736
Revert of Gamma correction for distance field text. ( https://codereview.chromium.org/258883002/ )
...
Reason for revert:
Memory leaks. I suspect this is due to the lack of destructors in SkAutoGlyphCache
Original issue's description:
> Gamma correction for distance field text.
>
> Handles both non-LCD and LCD text. Uses a texture to look up the gamma correction values for a given text color or luminance.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4d517fdbb145cb95e5e935470df331e1b6667cfc
NOTRY=true
NOTREECHECKS=true
R=reed@google.com , bungeman@google.com , robertphillips@google.com , bsalomon@google.com , jvanverth@google.com , mtklein@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/323513005
2014-06-09 13:06:34 -07:00
jvanverth
4d517fdbb1
Gamma correction for distance field text.
...
Handles both non-LCD and LCD text. Uses a texture to look up the gamma correction values for a given text color or luminance.
BUG=skia:
R=reed@google.com , bungeman@google.com , robertphillips@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/258883002
2014-06-09 12:04:55 -07:00
bsalomon
b6b0252643
Add dump() to SkClipStack to help with debugging.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/311263015
2014-06-09 07:59:06 -07:00
robertphillips
9f1c241e0d
Remove SkPicture::kUsePathBoundsForClip_RecordingFlag
...
The real question is whether we ever want to record a picture without using the path bounds for a conservative (but faster) clip answer?
R=reed@google.com , mtklein@google.com , djsollen@google.com , scroggo@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/316143003
2014-06-09 06:25:34 -07:00
robertphillips
e2f2b98444
No longer limit SkPictureRecorder::partialReplay to Android
...
Toggling this for local testing is a bit of a chore.
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/316173004
2014-06-08 13:12:44 -07:00
robertphillips
643b8bd661
First pass at splitting out SkPictureRecord from SkPicture
...
This patch begins the process of splitting apart SkPicture, SkPicturePlayback and SkPictureRecord.
This is still a bit messy. In a follow up CL I hope to delay the creation of SkPictureRecorder's SkPicture until endRecording time.
R=reed@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/318763004
2014-06-08 05:55:05 -07:00
Mike Klein
b77c7ef37f
Clean up Skia for Clang's -Wtautological-undefined-compare
...
This is blocking Chrome from rolling a new Clang, and me too for our TSAN bots.
BUG=chromium:381910
Review URL: https://codereview.chromium.org/325603002
2014-06-07 19:15:14 -04:00
sugoi
0951fe1298
Fixing another clusterfuzz issue
...
This was introduced by removing SkValidatingReadBuffer::readBitmap in https://codereview.chromium.org/295793002/
Since SkReadBuffer::skip wasn't virtual, it was using the unsafe SkReadBuffer::skip within SkReadBuffer::readBitmap rather than using SkValidatingReadBuffer::skip. I also removed direct uses of fReader within SkReadBuffer::readBitmap so that it can use the virtual readInt / readFixed functions that have a version in SkValidatingReadBuffer.
Also, I changed SkReadBuffer::readPoint so that it uses the virtual readScalar, that way, it becomes redundant with SkValidatingReadBuffer::readPoint, which can then be removed.
BUG=380723
R=reed@google.com , mtklein@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/317003003
2014-06-06 06:44:17 -07:00
mtklein
a8928b745a
Add SkBarriers_tsan.h.
...
Slight counterproposal to crrev.com/310663002.
BUG=skia:
No API changes.
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/306373002
2014-06-06 06:21:49 -07:00
krajcevski
c250d2e4ab
Initial KTX encoder
...
The encoder comes with tests to check that the encoding/decoding
operations between ETC encoded bitmaps and ARGB bitmaps are sane.
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/312353003
2014-06-06 06:16:28 -07:00
fmalita
c3b589a24e
SkClipStack::Element tweaks.
...
(
This is intended to facilitate efficient kMatrix_SaveFlags emulation
on restore():
* collect all clip stack elements for the current save count into a
side clip stack
* canvas.restore(everything)
* replay the collected clip ops to restore the initial clip state
=> we restored the matrix but the clip state is unchanged
)
Two main changes:
* expose the save count for SkClipStack::Element
* expose a replay method for the same (logic relocated from
SkCanvas::replayClips)
The SkCanvas::ClipVisitor shuffling is to enable forward decl
in SkClipStack.h (cannot fwdecl a nested class).
R=reed@google.com , robertphillips@google.com
TBR=reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/269693003
2014-06-05 12:40:07 -07:00
reed
ddd014e652
remove SkBitmap::allocConfigPixels and update dox
...
I see no callers in android
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/310283004
2014-06-05 08:51:20 -07:00
scroggo
58edea8962
Use the correct homophone of 'there'.
...
R=reed@google.com
TBR=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/319493004
2014-06-05 07:49:04 -07:00
robertphillips
9b14f26d0f
Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
...
R=reed@google.com , bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
krajcevski
99ffe24200
Initial KTX file decoder
...
R=bsalomon@google.com , robertphillips@google.com , halcanary@google.com , reed@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/302333002
2014-06-03 13:04:35 -07:00
mtklein
3a2682a77f
SK_CPU_ARM --> SK_CPU_ARM32
...
That's what it means. It keeps confusing us as named today.
BUG=skia:
R=djsollen@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/314643004
2014-06-03 12:07:31 -07:00
reed
868074b50b
remove SkBounder -- unused and unloved
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/312553006
2014-06-03 10:54:00 -07:00
robertphillips
dcf9ab14a1
Remove legacy picture recording
...
This is unblocked now that Android no longer uses the old interface.
This is just the first step in cleaning this up. Future CLs will constify SkPicture access in SkCanvas and split up the SkPicture/SkPicturePlayback/SkPictureRecord trio.
R=bsalomon@google.com , reed@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613002
2014-06-03 10:04:47 -07:00
reed
5c404c5577
add makeOffset and makeInset to SkRect
...
TBR=bsalomon
precursor for https://codereview.chromium.org/306013010
Author: reed@google.com
Review URL: https://codereview.chromium.org/306893012
2014-06-02 14:38:32 -07:00
reed
c77392ed58
use colortype instead of config
...
clone of https://codereview.chromium.org/305133006/
TBR=
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/301233011
2014-06-02 13:07:26 -07:00
mtklein
1b81877880
Clean up SkOnce:
...
1 Remove atExit feature: clients can do it just as well as SkOnce can.
2 Remove support for functors: no one but the unit test did that.
3 Remove support for unused non-static SkOnceFlag (no SK_ONCE_INIT).
4 Add SkOnce variants for no-arg functions so we're not forced to pass dummy values all the time.
5 Merge SkSpinlock and SkOnceFlag, making all members private.
6 More notes about memory barriers, adding an acquire load after acquiring the spinlock.
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/302083003
2014-06-02 11:26:59 -07:00
robertphillips
d537341e16
Move GrIPoint16 to SkIPoint16 (and remove GrPoint.h)
...
R=bsalomon@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/309683002
2014-06-02 10:20:15 -07:00
mtklein
78358bf624
Port most uses of SkOnce to SkLazyPtr.
...
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=15006
Committed: http://code.google.com/p/skia/source/detail?r=15014
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/304383005
2014-06-02 08:44:27 -07:00
reed
a6a8f00a39
hide SkDevice::config()
...
TBR=robertphilips
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/302253002
2014-06-02 05:45:32 -07:00
commit-bot@chromium.org
f71e8fd0c5
Revert of Port most uses of SkOnce to SkLazyPtr. ( https://codereview.chromium.org/304383005/ )
...
Reason for revert:
linux x86-64 release segfault in src/ports/SkFontHost_fontconfig.cpp:107
http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86_64-Release/builds/905/steps/RunTests/logs/stdio
Original issue's description:
> Port most uses of SkOnce to SkLazyPtr.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=15006
>
> Committed: http://code.google.com/p/skia/source/detail?r=15014
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/306063004
git-svn-id: http://skia.googlecode.com/svn/trunk@15015 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-31 00:15:22 +00:00
commit-bot@chromium.org
56f7cca144
Port most uses of SkOnce to SkLazyPtr.
...
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=15006
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/304383005
git-svn-id: http://skia.googlecode.com/svn/trunk@15014 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 23:59:12 +00:00
commit-bot@chromium.org
a1ff26a64a
Add a way for the gpu veto to report back the reason why it said no
...
BUG=2334
R=bsalomon@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/301423002
git-svn-id: http://skia.googlecode.com/svn/trunk@15012 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 21:52:52 +00:00
commit-bot@chromium.org
92a8916540
fix casting issue with or operator
...
R=reed@google.com , epoger@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/305253002
git-svn-id: http://skia.googlecode.com/svn/trunk@15011 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 21:07:05 +00:00
commit-bot@chromium.org
f6351a0718
Revert of Port most uses of SkOnce to SkLazyPtr. ( https://codereview.chromium.org/304383005/ )
...
Reason for revert:
Leaking refs on SkTypeface on Macs.
Original issue's description:
> Port most uses of SkOnce to SkLazyPtr.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=15006
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/304283007
git-svn-id: http://skia.googlecode.com/svn/trunk@15009 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 21:00:52 +00:00
commit-bot@chromium.org
5a70945ddd
Port most uses of SkOnce to SkLazyPtr.
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/304383005
git-svn-id: http://skia.googlecode.com/svn/trunk@15006 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:42:00 +00:00
commit-bot@chromium.org
2a5cd60bff
Add an OR operator overload for SaveFlags to avoid extra static casts.
...
R=reed@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/303373003
git-svn-id: http://skia.googlecode.com/svn/trunk@15005 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:41:20 +00:00
commit-bot@chromium.org
7ae034d651
Test font created from paint
...
This is meant to allow clients to migrate over to a SkFont api on canvas (e.g. drawText(text, font, paint)) while still permitting the current setters in paint (e.g. setTextSize, setFlags).
R=bungeman@google.com , eae@chromium.org , fmalita@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/245953003
git-svn-id: http://skia.googlecode.com/svn/trunk@14997 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 16:46:10 +00:00
commit-bot@chromium.org
a3264e53ee
Revert "Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )"
...
This reverts commit eecaea4148805834f223681f70b6488ceba12d09.
R=robertphillips@google.com , scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/301283003
git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:26:10 +00:00
commit-bot@chromium.org
559a8833f0
Fix the rendering error of SkDraw::drawVertices in gpu path for solid color.
...
If both textures and vertex-colors are NULL, drawVertices should stroke hairlines with the paint's color.
This behavior is a useful debugging mode to visualize the mesh.
BUG=skia:2266
R=bsalomon@google.com , reed@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/189963004
git-svn-id: http://skia.googlecode.com/svn/trunk@14985 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 10:08:22 +00:00
commit-bot@chromium.org
d0f824cfbd
Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )
...
Reason for revert:
broke all Windows bots
Original issue's description:
> setConfig -> setInfo
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14978
R=robertphillips@google.com , reed@google.com
TBR=reed@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: epoger@google.com
Review URL: https://codereview.chromium.org/302053002
git-svn-id: http://skia.googlecode.com/svn/trunk@14979 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 21:10:32 +00:00
commit-bot@chromium.org
986d681f3e
setConfig -> setInfo
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/308683005
git-svn-id: http://skia.googlecode.com/svn/trunk@14978 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 20:47:53 +00:00
commit-bot@chromium.org
97de357270
SkLazyPtr, mk. 2
...
SK_DECLARE_STATIC_LAZY_PTR and
SK_DECLARE_STATIC_LAZY_PTR_ARRAY let you declare a single or
array of static pointers that are lazily initialized.
You can think of this as a restricted, lighter-weight
version of SkOnce. There's no guarantee that Create will be
called exactly once, but we do guarantee all threads will
agree on the resulting pointer.
We'll clean up any other extra pointers we Create()ed by
calling Destroy(), which defaults to SkDELETE. In debug
mode, we also clean up the winning pointer at process exit,
so we can make sure we didn't leak it or free it early.
I've ported SkData (singleton) and SkXfermode (array) as
examples. Once this lands I'll port most other users of
SkOnce.
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/306943003
git-svn-id: http://skia.googlecode.com/svn/trunk@14976 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 20:13:22 +00:00
commit-bot@chromium.org
448e2a3b39
Add SkBarriers to ports.
...
This completes a TODO we've had to move our memory-barrier code out of
SkOnce. I also want to start using sk_acquire_load elsewhere.
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/304593003
git-svn-id: http://skia.googlecode.com/svn/trunk@14970 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 18:24:54 +00:00
reed@google.com
68d20ece89
legacy refEncodedData() returns data, not bool
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14961 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 16:05:47 +00:00
commit-bot@chromium.org
cba73780bb
replace config() with colorType()
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/303543009
git-svn-id: http://skia.googlecode.com/svn/trunk@14959 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 15:57:47 +00:00
commit-bot@chromium.org
00f8d6c75d
Revert "Revert of add colortable support to imagegenerator ( https://codereview.chromium.org/304443003/ )"
...
Fix is to add colortable param to installPixels()
This reverts commit 924205aaf2
.
BUG=skia:
R=scroggo@google.com , reed@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/300263005
git-svn-id: http://skia.googlecode.com/svn/trunk@14958 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 15:57:20 +00:00
commit-bot@chromium.org
2246e325b8
Make SkPictureRecorder::partialReplay const
...
This will make it easier to integrate this into Android's use case.
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/307693003
git-svn-id: http://skia.googlecode.com/svn/trunk@14957 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 15:57:11 +00:00
commit-bot@chromium.org
86b0de4745
Revert "Remove SkThread.h from public API."
...
Too much depends on SkThread being in include/core in Chrome build.
This reverts commit b1aec17df6
.
NOTREECHECKS=true
NOTRY=true
R=reed@google.com , mtklein@google.com
TBR=reed
BUG=skia:
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/303813003
git-svn-id: http://skia.googlecode.com/svn/trunk@14934 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 20:02:17 +00:00
commit-bot@chromium.org
b1aec17df6
Remove SkThread.h from public API.
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/303463009
git-svn-id: http://skia.googlecode.com/svn/trunk@14926 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 19:24:54 +00:00
commit-bot@chromium.org
7e2b0f3b06
Add SkPurgeGlobalDiscardableMemoryPool, needed to replace SkImageRef
...
BUG=skia:2389
R=reed@google.com , scroggo@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/298423002
git-svn-id: http://skia.googlecode.com/svn/trunk@14925 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 18:51:03 +00:00
commit-bot@chromium.org
924205aaf2
Revert of add colortable support to imagegenerator ( https://codereview.chromium.org/304443003/ )
...
Reason for revert:
failing tests
Original issue's description:
> add colortable support to imagegenerator
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14916
R=halcanary@google.com , scroggo@google.com
TBR=halcanary@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/300873007
git-svn-id: http://skia.googlecode.com/svn/trunk@14917 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 16:16:08 +00:00
commit-bot@chromium.org
b263985850
add colortable support to imagegenerator
...
BUG=skia:
R=halcanary@google.com , scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/304443003
git-svn-id: http://skia.googlecode.com/svn/trunk@14916 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 16:01:55 +00:00
commit-bot@chromium.org
6d3eaeabdd
add replay entry point to SkPictureRecorder for Android
...
This CL adds an Android-only entry point to address the Java Picture(Picture) and serialize use cases. Note that (in its current form) it doesn't preserve the old API's handling of unbalanced saves/saveLayers (this CL always balances them).
R=reed@google.com , scroggo@google.com , djsollen@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/252873005
git-svn-id: http://skia.googlecode.com/svn/trunk@14911 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 23:41:45 +00:00
commit-bot@chromium.org
466f5f3e44
remove SkBitmap::asImageInfo
...
BUG=skia:
R=scroggo@google.com , halcanary@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/305483005
git-svn-id: http://skia.googlecode.com/svn/trunk@14909 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 21:30:37 +00:00
commit-bot@chromium.org
64f6d15451
Use SkAtomics_sync on Android
...
Every doc I've found about using Android's atomics says, "stop".
"* A handful of basic atomic operations. The appropriate pthread
* functions should be used instead of these whenever possible."
"... we recommend stopping from using these functions entirely. Very fortunately, GCC provides handy intrinsics functions that work with very reasonable performance and always provide a full barrier."
As far as I can tell, there's no code generation change here: both the __sync atomics and the android_ atomics use full memory barriers. (And now with this all unified, it'll be easier to get the real wins by switching everything to __atomic atomics, which are like __sync atomics but allow control over memory barriers.)
BUG=skia:
R=bungeman@google.com , djsollen@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/305593002
git-svn-id: http://skia.googlecode.com/svn/trunk@14896 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 15:55:35 +00:00
commit-bot@chromium.org
81da061f72
Implement sk_atomic_conditional_inc with sk_atomic_cas.
...
Now that we have sk_atomic_cas, we can replace all the platform-specific CAS loops with one.
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/300553003
git-svn-id: http://skia.googlecode.com/svn/trunk@14892 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 15:00:32 +00:00
commit-bot@chromium.org
2d970b5128
hide discardable factory from public imagegenerator api
...
BUG=skia:
R=halcanary@google.com , scroggo@google.com , djsollen@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/295243006
git-svn-id: http://skia.googlecode.com/svn/trunk@14889 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 14:14:22 +00:00
commit-bot@chromium.org
851155c28e
remove SK_SUPPORT_LEGACY_BITMAPFLATTEN code
...
BUG=skia:
R=scroggo@google.com , reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/303563002
git-svn-id: http://skia.googlecode.com/svn/trunk@14888 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 14:03:51 +00:00
commit-bot@chromium.org
53c63a5136
remove SK_SUPPORT_LEGACY_BUILDMIPMAP
...
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/293393007
git-svn-id: http://skia.googlecode.com/svn/trunk@14885 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 00:23:36 +00:00
skia.committer@gmail.com
3c134a97ed
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14884 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-24 03:05:26 +00:00
commit-bot@chromium.org
f21991b104
Revert of Modify sample buffer size for larger displays. ( https://codereview.chromium.org/240433002/ )
...
Reason for revert:
This also changes verylargebitmap, and the difference appears to be meaningful. Henrik, I have emailed you the images that differ.
Original issue's description:
> Modify sample buffer size for larger displays.
>
> Increases the intermediate buffer size for sample pixel indexes,
> used in the sample proc function calls. If the operation is bigger
> than the buffer it's split into multiple calls, creating overhead.
> This would especially impact the performance of SIMD optimizations.
> Also, aligns the start address of the buffer to 16 bytes, to enable
> more efficient SIMD optimizations.
>
> Author: henrik.smiding@intel.com
>
> Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
>
> Committed: http://code.google.com/p/skia/source/detail?r=14825
>
> Committed: http://code.google.com/p/skia/source/detail?r=14872
R=reed@google.com , mtklein@google.com , tomhudson@google.com , djsollen@google.com , joakim.landberg@intel.com , bsalomon@chromium.org , bsalomon@google.com , henrik.smiding@intel.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/294023016
git-svn-id: http://skia.googlecode.com/svn/trunk@14878 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 19:13:56 +00:00
commit-bot@chromium.org
0533146d00
Modify sample buffer size for larger displays.
...
Increases the intermediate buffer size for sample pixel indexes,
used in the sample proc function calls. If the operation is bigger
than the buffer it's split into multiple calls, creating overhead.
This would especially impact the performance of SIMD optimizations.
Also, aligns the start address of the buffer to 16 bytes, to enable
more efficient SIMD optimizations.
Author: henrik.smiding@intel.com
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
Committed: http://code.google.com/p/skia/source/detail?r=14825
R=reed@google.com , mtklein@google.com , tomhudson@google.com , djsollen@google.com , joakim.landberg@intel.com , scroggo@google.com , bsalomon@chromium.org , bsalomon@google.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/240433002
git-svn-id: http://skia.googlecode.com/svn/trunk@14872 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 16:05:43 +00:00
commit-bot@chromium.org
968edcafa6
stop calling SkBitmap::flatten
...
BUG=skia:
R=scroggo@google.com , halcanary@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/295793002
git-svn-id: http://skia.googlecode.com/svn/trunk@14867 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 13:21:55 +00:00
commit-bot@chromium.org
de5553ae8b
re-expose hasLocalMatrix for now (can't hurt) -- unblocks blink
...
BUG=skia:
R=fmalita@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/299043002
git-svn-id: http://skia.googlecode.com/svn/trunk@14853 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 18:43:05 +00:00
robertphillips@google.com
8cf81e0f4f
Simple PKM image decoder.
...
https://codereview.chromium.org/292663011/
git-svn-id: http://skia.googlecode.com/svn/trunk@14852 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 18:40:29 +00:00
commit-bot@chromium.org
83f23d87f1
Remove unused (by clients) SkUnitMapper
...
This reverts commit 874423a81b5bc2541c7397e6ab00d5e7c9fdaf98.
TBR=scroggo
Author: reed@google.com
Review URL: https://codereview.chromium.org/288313009
git-svn-id: http://skia.googlecode.com/svn/trunk@14842 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 12:27:41 +00:00
commit-bot@chromium.org
3339ac54a5
Revert of Remove unused (by clients) SkUnitMapper ( https://codereview.chromium.org/283273002/ ) ( https://codereview.chromium.org/288343009/ )
...
Reason for revert:
required blink change failed to land
Original issue's description:
> Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/ )
>
> This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14830
R=scroggo@google.com , reed@google.com
TBR=reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/296823008
git-svn-id: http://skia.googlecode.com/svn/trunk@14838 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 02:55:59 +00:00
commit-bot@chromium.org
4b8f802255
Remove unused (by clients) SkUnitMapper ( https://codereview.chromium.org/283273002/ )
...
This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/288343009
git-svn-id: http://skia.googlecode.com/svn/trunk@14830 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 19:56:46 +00:00
reed@google.com
b03be0b887
Revert "Modify sample buffer size for larger displays."
...
This reverts commit dd72f3bd0d500b9b3f900bcb8e904161ee51eae5.
git-svn-id: http://skia.googlecode.com/svn/trunk@14827 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 16:38:43 +00:00
commit-bot@chromium.org
eeef0cc49b
Revert of Revert ""Revert of eliminate config param -- it was always self's config ( https://codereview.chromi … ( https://codereview.chromium.org/291163005/ )
...
Reason for revert:
broke 6 webgl/canvas tests in blink (don't know why yet)
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Mac10_7/27348/layout-test-results/results.html
Original issue's description:
> Revert ""Revert of eliminate config param -- it was always self's config (https://codereview.chromium.org/246513002/ )"""
>
> This reverts commit 3dbceb4f8283b2fb1728d0daf010d036099a2eae.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14806
R=bsalomon@google.com , robertphillips@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/295093003
git-svn-id: http://skia.googlecode.com/svn/trunk@14826 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 15:58:00 +00:00
commit-bot@chromium.org
af159a580b
Modify sample buffer size for larger displays.
...
Increases the intermediate buffer size for sample pixel indexes,
used in the sample proc function calls. If the operation is bigger
than the buffer it's split into multiple calls, creating overhead.
This would especially impact the performance of SIMD optimizations.
Also, aligns the start address of the buffer to 16 bytes, to enable
more efficient SIMD optimizations.
Author: henrik.smiding@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 , scroggo@google.com , bsalomon@chromium.org , bsalomon@google.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/240433002
git-svn-id: http://skia.googlecode.com/svn/trunk@14825 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 15:16:15 +00:00
commit-bot@chromium.org
f0ea77a363
SSE2 implementation of memcpy32
...
With SSE2 version memcpy32, S32_Opaque_BlitRow32() in SkBlitRow_D32.cpp
has about 30% performance improvement. Here are the data on desktop
i7-3770.
before:
bitmap_scale_filter_90_90 8888: cmsecs = 2.01
bitmaprect_FF_filter_trans 8888: cmsecs = 3.61
bitmaprect_FF_nofilter_trans 8888: cmsecs = 3.57
bitmaprect_FF_filter_identity 8888: cmsecs = 3.53
bitmaprect_FF_nofilter_identity 8888: cmsecs = 3.53
bitmap_4444_update 8888: cmsecs = 4.84
bitmap_4444_update_volatile 8888: cmsecs = 4.81
bitmap_4444 8888: cmsecs = 4.81
after:
bitmap_scale_filter_90_90 8888: cmsecs = 1.83
bitmaprect_FF_filter_trans 8888: cmsecs = 2.36
bitmaprect_FF_nofilter_trans 8888: cmsecs = 2.36
bitmaprect_FF_filter_identity 8888: cmsecs = 2.60
bitmaprect_FF_nofilter_identity 8888: cmsecs = 2.63
bitmap_4444_update 8888: cmsecs = 3.30
bitmap_4444_update_volatile 8888: cmsecs = 3.30
bitmap_4444 8888: cmsecs = 3.29
BUG=skia:
R=mtklein@google.com , reed@google.com , bsalomon@google.com
Author: qiankun.miao@intel.com
Review URL: https://codereview.chromium.org/285313002
git-svn-id: http://skia.googlecode.com/svn/trunk@14822 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 12:43:07 +00:00
skia.committer@gmail.com
29de433b06
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14817 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 03:05:49 +00:00
commit-bot@chromium.org
7ed173b1eb
formalize named picture versions
...
BUG=skia:
R=mtklein@google.com , robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/291913004
git-svn-id: http://skia.googlecode.com/svn/trunk@14807 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 17:31:08 +00:00
commit-bot@chromium.org
731b28daaa
Revert ""Revert of eliminate config param -- it was always self's config ( https://codereview.chromium.org/246513002/ )"""
...
This reverts commit 3dbceb4f8283b2fb1728d0daf010d036099a2eae.
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/291163005
git-svn-id: http://skia.googlecode.com/svn/trunk@14806 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 17:08:12 +00:00
commit-bot@chromium.org
311a3cda94
Add function to get both min and max scale factors from matrix
...
R=reed@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/298473002
git-svn-id: http://skia.googlecode.com/svn/trunk@14804 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 17:02:03 +00:00
commit-bot@chromium.org
1878651990
Rename SkMatrix::get(Max|Min)Stretch to get(Min|Max)Scale
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/295713002
git-svn-id: http://skia.googlecode.com/svn/trunk@14798 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 14:53:45 +00:00
reed@google.com
555e74f6fb
"Revert of eliminate config param -- it was always self's config ( https://codereview.chromium.org/246513002/ )""
...
This reverts commit 65b9f33cab9f53821720f982667412e56a340093.
git-svn-id: http://skia.googlecode.com/svn/trunk@14795 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 12:39:37 +00:00
commit-bot@chromium.org
a369e36e9d
Revert "Revert of eliminate config param -- it was always self's config ( https://codereview.chromium.org/246513002/ )"
...
TBR=bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/290883005
git-svn-id: http://skia.googlecode.com/svn/trunk@14785 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 17:29:16 +00:00
commit-bot@chromium.org
99bd7d8174
Try out SkMatrix::Concat.
...
This should RVO to the same as doing it on the stack with setConcat.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/293693002
git-svn-id: http://skia.googlecode.com/svn/trunk@14782 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 15:51:12 +00:00
commit-bot@chromium.org
2a67e123a3
This adds a checkbox to the debugger to allow seeing the effect pathops has on the clip. A new tab shows the C code that the pathops generate.
...
Once in place, this CL found a bug in the pathops code where it was not handling empty clip stack elements correctly. The Cl also has the change to SkCanvas to fix this bug.
R=robertphillips@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/282283002
git-svn-id: http://skia.googlecode.com/svn/trunk@14774 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 13:53:10 +00:00
commit-bot@chromium.org
2ee3c2ce64
Add choke point for performing a fake endRecording
...
My goal here was to add a single location where we could patch up the created PicturePlayback. Unfortunately, the complexity of the recording process (e.g., the BBH) makes this quite complex.
I will investigate altering the behavior of SkPicturePlayback to account for a potentially unbalanced set of saves/saveLayers.
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/283333007
git-svn-id: http://skia.googlecode.com/svn/trunk@14773 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 12:36:15 +00:00
commit-bot@chromium.org
e2b193ca5c
Revert of remove unused (by clients) SkUnitMapper ( https://codereview.chromium.org/283273002/ )
...
Reason for revert:
does not address all legacy callsites in chrome.
e.g.
[13:45:32.091872] ../../ui/native_theme/native_theme_base.cc:608:76: error: no matching function for call to ‘SkGradientShader::CreateLinear(SkPoint [3], SkColor [3], NULL, int, SkShader::TileMode, NULL)’
[13:45:32.091919] gradient_bounds, colors, NULL, 3, SkShader::kClamp_TileMode, NULL));
Original issue's description:
> remove unused (by clients) SkUnitMapper
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14761
R=robertphillips@google.com , scroggo@google.com , george@mozilla.com
TBR=george@mozilla.com , robertphillips@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/287063009
git-svn-id: http://skia.googlecode.com/svn/trunk@14763 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:49:08 +00:00
commit-bot@chromium.org
ee0cac336c
remove unused (by clients) SkUnitMapper
...
BUG=skia:
R=robertphillips@google.com , scroggo@google.com , george@mozilla.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/283273002
git-svn-id: http://skia.googlecode.com/svn/trunk@14761 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:35:01 +00:00
commit-bot@chromium.org
bd0be25074
Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag.
...
Neither Chrome nor Android uses this flag anymore.
Make sure all constructors touched that only have one parameter are marked as 'explicit'.
BUG=2187
R=scroggo@google.com , reed@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/282203004
git-svn-id: http://skia.googlecode.com/svn/trunk@14749 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 15:40:41 +00:00
commit-bot@chromium.org
9c7fdab2f3
Always inline SkFloatToFixed_arm.
...
We have "inline" assembly for speed on ARM, but the compiler when
told to optimize for space wasn't inlining it, destroying any
possible performance improvement.
BUG=skbug:2550
R=mtklein@google.com , reed@google.com , tomhudson@google.com
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/281143002
git-svn-id: http://skia.googlecode.com/svn/trunk@14745 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 09:46:20 +00:00
commit-bot@chromium.org
3055879cbf
Add ownership dox for SkShader::asACompose.
...
Supplement the comment added in
http://code.google.com/p/skia/source/detail?r=14716
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/288713002
git-svn-id: http://skia.googlecode.com/svn/trunk@14724 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 14:28:34 +00:00
commit-bot@chromium.org
f70e917df7
By default, Chromium optimizes for size when compiling on Android.
...
Forcing the SkAlphaMulQ() function inline can yield as much as a 5-10%
improvement in rasterization time for some of Chromium's telemetry
tests on the Nexus 10, since it's in the inner loop of complex blends.
R=mtklein@google.com , reed@google.com , tomhudson@google.com
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/283753003
git-svn-id: http://skia.googlecode.com/svn/trunk@14723 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 13:34:42 +00:00
commit-bot@chromium.org
fc6dfbab75
Inline noop willFoo/didFoo into SkCanvas.h.
...
We've got our canvas subclasses all calling back up to these via
INHERITED, all noops. That's fine but currently a little sad as they
can't be optimized away without link-time optimization, which we and
Chrome only do on Windows. We actually make a call for each of these
today on non-Windows.
So, move the empty implementations into the header so those chaining
calls really can be optimized away.
BUG=skia:
R=reed@google.com , fmalita@google.com , mtklein@google.com , fmalita@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/287593005
git-svn-id: http://skia.googlecode.com/svn/trunk@14722 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 13:13:44 +00:00
commit-bot@chromium.org
795905562d
Add functions for inspecting SkShader.
...
Add a function to inspect an SkShader to determine if it is an
SkComposeShader.
Add a virtual function for determining if an SkShader is a custom
shader, which returns a custom set of information. The
implementation is in Android, and this function is only defined
if SK_BUILD_FOR_ANDROID_FRAMEWORK.
BUG=b/10650594
R=reed@google.com , scroggo@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/282733005
git-svn-id: http://skia.googlecode.com/svn/trunk@14716 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-13 18:14:45 +00:00
commit-bot@chromium.org
5970f625e9
re-land hide get/setLocalMatrix
...
This reverts commit b1d702a43b07934f5b001b1b09db2c57ede909a1.
TBR=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/279903002
git-svn-id: http://skia.googlecode.com/svn/trunk@14702 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 20:42:21 +00:00
commit-bot@chromium.org
f31fa24914
Make gMask_00FF00FF a constant
...
This is to optimize SkAlphaMulQ() in PIC mode. With the visibility=default
symbol the constant is not known at compile time (and is not a constant), but
instead is fetched through a double indirection through GOT. The function is
quite hot on one of the chromium benchmarks:
rasterize_and_record_micro.key_silk_cases.
This change replaces the symbol with a compile-time constant. As a bonus the
variable is not exported from the dynamic library, i. e. a cleaner library
interface.
See specific performance improvements on Android here:
http://goo.gl/iMuTDt
R=skyostil@chromium.org , tomhudson@chromium.org , mtklein@google.com , reed@google.com , tomhudson@google.com
Author: pasko@chromium.org
Review URL: https://codereview.chromium.org/270473003
git-svn-id: http://skia.googlecode.com/svn/trunk@14696 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 15:38:00 +00:00
commit-bot@chromium.org
ce4402c2fb
Improved x86 SSE build and run-time checks.
...
Replaces the current build/run-time checks for SSE level in
opts_check_x86.cpp with a simpler and more future-proof version.
Also adds SSE versions 4.1 and 4.2 to the config file.
Author: henrik.smiding@intel.com
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
Committed: http://code.google.com/p/skia/source/detail?r=14644
R=reed@google.com , mtklein@google.com , tomhudson@google.com , djsollen@google.com , joakim.landberg@intel.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/272503006
git-svn-id: http://skia.googlecode.com/svn/trunk@14693 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 14:16:19 +00:00
commit-bot@chromium.org
96fb7489ba
add localmatrix parameter to shader's asNewEffect
...
BUG=skia:
R=bsalomon@google.com , dominikg@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/278963002
git-svn-id: http://skia.googlecode.com/svn/trunk@14686 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:28:11 +00:00
commit-bot@chromium.org
d12de02542
Revert of hide get/setLocalMatrix ( https://codereview.chromium.org/279563002/ )
...
Reason for revert:
broke gms
Original issue's description:
> hide get/setLocalMatrix
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14675
R=fmalita@google.com , dominikg@chromium.org , fmalita@chromium.org
TBR=dominikg@chromium.org , fmalita@chromium.org , fmalita@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/278903002
git-svn-id: http://skia.googlecode.com/svn/trunk@14677 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 15:42:07 +00:00
commit-bot@chromium.org
5adad325c5
hide get/setLocalMatrix
...
BUG=skia:
R=fmalita@google.com , dominikg@chromium.org , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/279563002
git-svn-id: http://skia.googlecode.com/svn/trunk@14675 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 15:19:48 +00:00
commit-bot@chromium.org
443c0a6d61
Revert of Improved x86 SSE build and run-time checks. ( https://codereview.chromium.org/272503006/ )
...
Reason for revert:
Windows builders breaking. :(
Original issue's description:
> Improved x86 SSE build and run-time checks.
>
> Replaces the current build/run-time checks for SSE level in
> opts_check_x86.cpp with a simpler and more future-proof version.
> Also adds SSE versions 4.1 and 4.2 to the config file.
>
> Author: henrik.smiding@intel.com
>
> Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
>
> Committed: http://code.google.com/p/skia/source/detail?r=14644
R=reed@google.com , tomhudson@google.com , djsollen@google.com , joakim.landberg@intel.com , henrik.smiding@intel.com
TBR=djsollen@google.com , henrik.smiding@intel.com , joakim.landberg@intel.com , reed@google.com , tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/277593004
git-svn-id: http://skia.googlecode.com/svn/trunk@14646 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 15:27:52 +00:00
commit-bot@chromium.org
2656b1dbb3
Improved x86 SSE build and run-time checks.
...
Replaces the current build/run-time checks for SSE level in
opts_check_x86.cpp with a simpler and more future-proof version.
Also adds SSE versions 4.1 and 4.2 to the config file.
Author: henrik.smiding@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
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/272503006
git-svn-id: http://skia.googlecode.com/svn/trunk@14644 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 15:17:50 +00:00
commit-bot@chromium.org
8fae213590
add localmatrix-shader
...
BUG=skia:
R=scroggo@google.com , dominikg@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/272593002
git-svn-id: http://skia.googlecode.com/svn/trunk@14633 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 22:26:37 +00:00
robertphillips@google.com
beb1af2f34
First pass at pre-rendering saveLayers for GPU
...
https://codereview.chromium.org/261663003/
git-svn-id: http://skia.googlecode.com/svn/trunk@14632 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 21:31:09 +00:00
commit-bot@chromium.org
eaca36b657
remove dead mipmap code from SkBitmap
...
BUG=skia:
R=fmalita@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/271693002
git-svn-id: http://skia.googlecode.com/svn/trunk@14611 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 15:05:34 +00:00
commit-bot@chromium.org
80116dcf1e
add local-matrix to shader::context
...
BUG=skia:
R=scroggo@google.com , dominikg@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/263293005
git-svn-id: http://skia.googlecode.com/svn/trunk@14592 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 17:16:03 +00:00
commit-bot@chromium.org
06a3206262
fix TriColorShader to respect the paint's alpha
...
results can be seen in new gm: vertices_80
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/270023002
git-svn-id: http://skia.googlecode.com/svn/trunk@14581 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 21:35:09 +00:00
commit-bot@chromium.org
ce56d96506
Remove SkShader virtual method validContext
...
patch from issue 267923005
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/261773005
git-svn-id: http://skia.googlecode.com/svn/trunk@14573 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 18:39:18 +00:00
commit-bot@chromium.org
4e332f82fc
add rounding-using-doubles methods on SkScalar and SkRect
...
Inspired by the excellent repro case for https://crbug.com/364224
patch from issue 265933010
BUG=skia:
R=bungeman@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/267003002
git-svn-id: http://skia.googlecode.com/svn/trunk@14566 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 16:04:42 +00:00
commit-bot@chromium.org
40f6e3a25c
add release-mode checks for null, at least for a while
...
BUG=skia:
R=bungeman@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/263883006
git-svn-id: http://skia.googlecode.com/svn/trunk@14552 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 21:24:22 +00:00
commit-bot@chromium.org
5aacfe9ffc
Remove setLocalMatrix calls from picture shader GM.
...
This makes all --skr tests pass for me. Enabling it by default in DM.
BUG=skia:2378
Committed: http://code.google.com/p/skia/source/detail?r=14549
R=reed@google.com , mtklein@google.com , fmalita@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/260863007
git-svn-id: http://skia.googlecode.com/svn/trunk@14551 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 21:23:52 +00:00
commit-bot@chromium.org
c09abe66c1
Revert of Remove setLocalMatrix calls from picture shader GM. ( https://codereview.chromium.org/260863007/ )
...
Reason for revert:
changed GM unexpectedly. will sort out and try again
Original issue's description:
> Remove setLocalMatrix calls from picture shader GM.
>
> This makes all --skr tests pass for me. Enabling it by default in DM.
>
> BUG=skia:2378
>
> Committed: http://code.google.com/p/skia/source/detail?r=14549
R=reed@google.com , fmalita@google.com , mtklein@chromium.org
TBR=fmalita@google.com , mtklein@chromium.org , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2378
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/265013003
git-svn-id: http://skia.googlecode.com/svn/trunk@14550 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 20:51:13 +00:00
commit-bot@chromium.org
74b8cb15e4
Remove setLocalMatrix calls from picture shader GM.
...
This makes all --skr tests pass for me. Enabling it by default in DM.
BUG=skia:2378
R=reed@google.com , mtklein@google.com , fmalita@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/260863007
git-svn-id: http://skia.googlecode.com/svn/trunk@14549 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 20:30:11 +00:00
commit-bot@chromium.org
608d63735f
Choose memset procs once.
...
TSAN shows us racing on the function pointers. Might as well fix it.
WARNING: ThreadSanitizer: data race (pid=19995)
Read of size 8 at 0x7f703affb048 by thread T12 (mutexes: write M2957):
#0 SkBitmap::internalErase(SkIRect const&, unsigned int, unsigned int, unsigned int, unsigned int) const /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/src/core/SkBitmap.cpp:886 (tests+0x0000003511ca)
#1 SkBitmap::eraseARGB(unsigned int, unsigned int, unsigned int, unsigned int) const /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/src/core/SkBitmap.cpp:919 (tests+0x0000003534bf)
#2 (anonymous namespace)::DecodingImageGenerator::getPixels(SkImageInfo const&, void*, unsigned long) /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/src/images/SkDecodingImageGenerator.cpp:195 (tests+0x00000051bee1)
#3 SkDiscardablePixelRef::onNewLockPixels(SkPixelRef::LockRec*) /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/src/lazy/SkDiscardablePixelRef.cpp:63 (tests+0x00000039ad9c)
#4 SkPixelRef::lockPixels(SkPixelRef::LockRec*) /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/src/core/SkPixelRef.cpp:179 (tests+0x0000003fec23)
#5 SkBitmap::lockPixels() const /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/src/core/SkBitmap.cpp:414 (tests+0x00000034e41e)
#6 SkAutoLockPixels /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/include/core/SkBitmap.h:819 (tests+0x0000002752f3)
#7 ImageDecoderOptions(skiatest::Reporter*) /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/tests/ImageDecodingTest.cpp:565 (tests+0x000000275d03)
#8 skiatest::Test::run() /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/tests/Test.cpp:107 (tests+0x0000002263e7)
#9 SkTestRunnable::run() /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/tests/skia_test.cpp:108 (tests+0x0000001d8607)
#10 SkThreadPoolPrivate::ThreadLocal<void>::run(SkTRunnable<void>*) /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/include/utils/SkThreadPool.h:108 (tests+0x0000001d817e)
#11 thread_start(void*) /var/scratch/Release/../../../usr/local/google/home/mtklein/skia/src/utils/SkThreadUtils_pthread.cpp:66 (tests+0x000000604347)
Previous write of size 8 at 0x7f703affb048 by thread T26:
[failed to restore the stack]
BUG=skia:1792
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/250503003
git-svn-id: http://skia.googlecode.com/svn/trunk@14548 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 20:28:56 +00:00
commit-bot@chromium.org
6fcd1ef244
Add flag for SkGpuSurface creation to enable distance fields.
...
BUG=skia:2173
R=bsalomon@google.com , reed@google.com , bungeman@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/261783004
git-svn-id: http://skia.googlecode.com/svn/trunk@14525 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 12:39:41 +00:00
commit-bot@chromium.org
e901b6de3e
create struct to hold all the params passed around for shader::context
...
BUG=skia:
R=scroggo@google.com , dominikg@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/264843006
git-svn-id: http://skia.googlecode.com/svn/trunk@14514 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 19:31:31 +00:00
reed@google.com
2e74f9d375
remove code behind SK_SUPPORT_LEGACY_PROCXFERMODE
...
BUG=skia:
R=scroggo@google.com
Review URL: https://codereview.chromium.org/264923004
git-svn-id: http://skia.googlecode.com/svn/trunk@14504 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 15:56:52 +00:00
commit-bot@chromium.org
f3e505984d
add default impl for context methods on shader
...
These are reasonable return values, since both of these methods can return a known value (0)
which means that no context can be created. This also makes it easier for chrome's subclasses
which already do not want to create a context, but having them actually overridden makes
changing the virtual signatures much harder.
BUG=skia:
R=scroggo@google.com , dominikg@google.com , reed@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/262703002
git-svn-id: http://skia.googlecode.com/svn/trunk@14491 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 23:29:02 +00:00
commit-bot@chromium.org
45d1d1d9a7
Rename SK_DEBUGBREAK to SK_ALWAYSBREAK
...
Committed: http://code.google.com/p/skia/source/detail?r=14473
R=caryclark@google.com , reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/263553012
git-svn-id: http://skia.googlecode.com/svn/trunk@14481 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 18:24:16 +00:00
commit-bot@chromium.org
62cf26f374
Revert of Rename SK_DEBUGBREAK to SK_ALWAYSBREAK ( https://codereview.chromium.org/263553012/ )
...
Reason for revert:
Broke windows bot
Original issue's description:
> Rename SK_DEBUGBREAK to SK_ALWAYSBREAK
>
> Committed: http://code.google.com/p/skia/source/detail?r=14473
R=caryclark@google.com , reed@google.com
TBR=caryclark@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/260763003
git-svn-id: http://skia.googlecode.com/svn/trunk@14476 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 16:27:21 +00:00
commit-bot@chromium.org
f0eeb7d678
Rename SK_DEBUGBREAK to SK_ALWAYSBREAK
...
R=caryclark@google.com , reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/263553012
git-svn-id: http://skia.googlecode.com/svn/trunk@14473 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 16:14:04 +00:00
commit-bot@chromium.org
88cb22b6b4
Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL
...
R=robertphillips@google.com , reed@google.com , mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/257393004
git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 14:17:00 +00:00
commit-bot@chromium.org
1ac99c890b
Fixed issue found by clusterfuzz
...
An integer overflow was causing an issue when reading a string with a very large (or negative) size.
BUG=367764
R=senorblanco@google.com , senorblanco@chromium.org , reed@google.com , borenet@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/255693003
git-svn-id: http://skia.googlecode.com/svn/trunk@14434 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 15:35:23 +00:00
reed@google.com
daaafa6e81
add asAShadowBlur for android to drawlooper
...
BUG=skia:
R=djsollen@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/253633003
git-svn-id: http://skia.googlecode.com/svn/trunk@14431 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 15:20:16 +00:00
commit-bot@chromium.org
e396455d2d
move common blur types into central header
...
BUG=skia:
R=scroggo@google.com , djsollen@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/253833002
git-svn-id: http://skia.googlecode.com/svn/trunk@14411 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 16:25:35 +00:00
commit-bot@chromium.org
9c9005a347
Move SkShader::fLocalMatrix into SkShader constructor.
...
As a first step towards removing SkShader::setLocalMatrix, which will make
SkShader thread-safe, remove calls to setLocalMatrix that happen immediately
after the shader is being created. Instead, pass the matrix into the constructor
or factory method.
BUG=skia:1976
R=scroggo@google.com , reed@google.com , skyostil@google.com , mtklein@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/245963010
git-svn-id: http://skia.googlecode.com/svn/trunk@14401 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 14:55:39 +00:00
commit-bot@chromium.org
f672cead70
teach TSAN about SkSpinlock, SkRefCnt, and SkOnce
...
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=14353
NOTRY=true
NOTREECHECKS=true
Committed: http://code.google.com/p/skia/source/detail?r=14354
R=bsalomon@google.com , bungeman@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/247813005
git-svn-id: http://skia.googlecode.com/svn/trunk@14390 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-27 19:21:51 +00:00
commit-bot@chromium.org
a537627f06
Revert of teach TSAN about SkSpinlock, SkRefCnt, and SkOnce ( https://codereview.chromium.org/247813005/ )
...
Reason for revert:
breaks blink in roll
Original issue's description:
> teach TSAN about SkSpinlock, SkRefCnt, and SkOnce
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14353
>
> NOTRY=true
> NOTREECHECKS=true
>
> Committed: http://code.google.com/p/skia/source/detail?r=14354
R=bsalomon@google.com , bungeman@google.com , mtklein@chromium.org
TBR=bsalomon@google.com , bungeman@google.com , mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/258783005
git-svn-id: http://skia.googlecode.com/svn/trunk@14389 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-27 19:14:46 +00:00
skia.committer@gmail.com
cc9dbfb1d2
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14372 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-25 03:05:58 +00:00
commit-bot@chromium.org
e2cb12a82a
First pass at GPU veto
...
As a short term solution this CL collects information during the recording process for use in suitableForGpuRasterization.
BUG=366495
R=bsalomon@google.com , reed@google.com , alokp@chromium.org
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/251533004
git-svn-id: http://skia.googlecode.com/svn/trunk@14368 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 21:53:13 +00:00
commit-bot@chromium.org
d70fa2013a
Deprecate SaveFlags use in the public SkCanvas API.
...
Because we still have internal users for now (to support the deprecated
mode), this CL introduces an external-only variant of deprecation.
Chromium is no longer using the deprecated methods, but Android may need
to suppress SK_ATTR_EXTERNALLY_DEPRECATED warnings.
R=reed@google.com , robertphillips@google.com , scroggo@google.com , bungeman@google.com , mtklein@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/246023008
git-svn-id: http://skia.googlecode.com/svn/trunk@14367 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 21:51:58 +00:00
commit-bot@chromium.org
d0306a1593
Revert of Add nanosecond timer. ( https://codereview.chromium.org/250243002/ )
...
Reason for revert:
breaks EVERYTHING
Original issue's description:
> Add nanosecond timer.
>
> I've been finding it hard to get enough resolution out of our existing timers when measuring really tiny pictures.
>
> BUG=skia:2378
>
> Committed: http://code.google.com/p/skia/source/detail?r=14362
R=bsalomon@google.com , bungeman@google.com , mtklein@chromium.org
TBR=bsalomon@google.com , bungeman@google.com , mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:2378
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/258703002
git-svn-id: http://skia.googlecode.com/svn/trunk@14364 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 20:17:24 +00:00
commit-bot@chromium.org
74b43a9d4c
Add nanosecond timer.
...
I've been finding it hard to get enough resolution out of our existing timers when measuring really tiny pictures.
BUG=skia:2378
R=bsalomon@google.com , mtklein@google.com , bungeman@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/250243002
git-svn-id: http://skia.googlecode.com/svn/trunk@14362 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 20:04:20 +00:00
commit-bot@chromium.org
76a3b2abd0
Remove support for inheriting the paint color from SkColorShader
...
BUG=skia:2453
R=reed@google.com , mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/248033003
git-svn-id: http://skia.googlecode.com/svn/trunk@14355 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 16:54:46 +00:00
commit-bot@chromium.org
6d4e90a2d4
teach TSAN about SkSpinlock, SkRefCnt, and SkOnce
...
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=14353
NOTRY=true
NOTREECHECKS=true
R=bsalomon@google.com , bungeman@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/247813005
git-svn-id: http://skia.googlecode.com/svn/trunk@14354 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 15:40:46 +00:00
commit-bot@chromium.org
1d24eb20e7
teach TSAN about SkSpinlock, SkRefCnt, and SkOnce
...
BUG=skia:
R=bsalomon@google.com , bungeman@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/247813005
git-svn-id: http://skia.googlecode.com/svn/trunk@14353 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 15:33:54 +00:00
skia.committer@gmail.com
b0430d0245
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14346 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 03:05:07 +00:00
senorblanco@chromium.org
a49c0a540c
Add a missing SK_API to SkImageFilter::Cache.
...
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/251353003
git-svn-id: http://skia.googlecode.com/svn/trunk@14343 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 23:07:00 +00:00
commit-bot@chromium.org
8f831f262f
First step in pulling SkPicturePlayback & SkPictureRecord out of SkPicture
...
This CL begins the process of making SkPicturePlayback & SkPictureRecord independent of SkPicture. It just moves the PathHeap into SkPicture to get a feel for where all this is going to lead.
Some items of note:
SkTimedPicture (debugger/QT) should wind up being just an SkPicturePlayback-derived object.
All the flattening & unflattening should migrate out of SkPicturePlayback and into SkPicture.
SkPicture::initForPlayback should eventually become something just SkPictureRecorder::endRecording calls.
SkPicture is passed into SkPicturePlayback's & SkPictureRecord's constructors. SkPicturePlayback only
holds onto a "const SkPicture*". The SkPicturePlayback:: CreateFromStream & CreateFromBuffer methods pass a non-const
SkPicture* down the call stack.
BUG=skia:2315
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/249453002
git-svn-id: http://skia.googlecode.com/svn/trunk@14341 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 22:35:42 +00:00
commit-bot@chromium.org
f117781362
fix size_t/int warnings
...
BUG=skia:
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/247753003
git-svn-id: http://skia.googlecode.com/svn/trunk@14332 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:19:44 +00:00
commit-bot@chromium.org
87fcd95019
Revert of Revert of Extract most of the mutable state of SkShader into a separate Context object. ( https://codereview.chromium.org/249643002/ )
...
Reason for revert:
Chromium side change landed along side DEPS roll that includes r14323.
Original issue's description:
> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/ )
>
> Reason for revert:
> This is blocking the DEPS roll into Chromium. Failures can be seen here:
>
> http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333
>
> Original issue's description:
> > Extract most of the mutable state of SkShader into a separate Context object.
> >
> > SkShader currently stores some state during draw calls via setContext(...).
> > Move that mutable state into a separate SkShader::Context class that is
> > constructed on demand for the duration of the draw.
> >
> > Calls to setContext() are replaced with createContext() which returns a context
> > corresponding to the shader object or NULL if the parameters to createContext
> > are invalid.
> >
> > TEST=out/Debug/dm
> > BUG=skia:1976
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14216
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14323
>
> TBR=scroggo@google.com ,skyostil@chromium.org,tomhudson@chromium.org,senorblanco@chromium.org,reed@google.com,bungeman@google.com,dominikg@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14326
R=scroggo@google.com , skyostil@chromium.org , tomhudson@chromium.org , senorblanco@chromium.org , reed@google.com , bungeman@google.com , dominikg@chromium.org
TBR=bungeman@google.com , dominikg@chromium.org , reed@google.com , scroggo@google.com , senorblanco@chromium.org , skyostil@chromium.org , tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/246403013
git-svn-id: http://skia.googlecode.com/svn/trunk@14328 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:10:51 +00:00