Commit Graph

2174 Commits

Author SHA1 Message Date
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
commit-bot@chromium.org
6e5671d8c9 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

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/249643002

git-svn-id: http://skia.googlecode.com/svn/trunk@14326 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 16:16:55 +00:00
commit-bot@chromium.org
6e332f768f Revert of eliminate config param -- it was always self's config (https://codereview.chromium.org/246513002/)
Reason for revert:
Causes some layout_test failures around texture backed bitmaps. Test names and crash logs accessible via: https://storage.googleapis.com/chromium-layout-test-archives/linux_layout/13845/layout-test-results/results.html



Original issue's description:
> eliminate config param -- it was always self's config
>
> BUG=skia:
> R=bsalomon@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=14303

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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14324 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 14:52:14 +00:00
commit-bot@chromium.org
bc2f1dc85e 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

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14323 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 09:11:58 +00:00
reed@google.com
e0d9ce890e Make drawText calls non-virtual, to ease SkFont and TextBlob (https://codereview.chromium.org/243853006/)"
associated chrome change (to be committed with DEPS roll)
https://codereview.chromium.org/248693002/

This reverts commit bfaceb53f58c9625b5471fcff35b5ca9ca3ae29c.

TBR=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14321 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 04:00:17 +00:00
commit-bot@chromium.org
945ec3a2be Revert of make drawText calls non-virtual, to ease SkFont and TextBlob (https://codereview.chromium.org/243853006/)
Reason for revert:
need to test more the code-path where we don't opt into the new virtuals

Original issue's description:
> make drawText calls non-virtual, to ease SkFont and TextBlob
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14307

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14314 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 20:07:30 +00:00
commit-bot@chromium.org
4325d114a5 make drawText calls non-virtual, to ease SkFont and TextBlob
BUG=skia:
R=robertphillips@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14307 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 19:03:02 +00:00
reed@google.com
dcacd5fd5a eliminate config param -- it was always self's config
BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14303 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 18:22:30 +00:00
commit-bot@chromium.org
aec143824c Add asADash entry point into SkPathEffect to allow extracting Dash info from PathEffects
BUG=skia:
R=bsalomon@google.com, reed@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14297 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 15:21:18 +00:00
commit-bot@chromium.org
02a094c3aa SK_API-export SkBBHFactory & friends.
R=reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14295 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 13:33:16 +00:00