Commit Graph

3916 Commits

Author SHA1 Message Date
joshualitt
87f48d997e create and thread batch tracker object
I remove the factory on the next CL

BUG=skia:

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

Review URL: https://codereview.chromium.org/772513002
2014-12-04 10:41:40 -08:00
reed
8eddfb50c0 Change clear() to respect the clip
This reverts commit af641a1c10.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/783493002
2014-12-04 07:50:14 -08:00
joshualitt
841a6b54c1 Revert of create and thread batch tracker object (patchset #9 id:160001 of https://codereview.chromium.org/772513002/)
Reason for revert:
Breaking linux layout test

Original issue's description:
> create and thread batch tracker object
>
> I remove the factory on the next CL
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294

TBR=bsalomon@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/774133003
2014-12-04 06:00:41 -08:00
reed
b8eb85cd2f make clear private (before we delete it)
BUG=skia:

Review URL: https://codereview.chromium.org/781593002
2014-12-04 03:48:34 -08:00
joshualitt
c3a6eb2348 create and thread batch tracker object
I remove the factory on the next CL

BUG=skia:

Review URL: https://codereview.chromium.org/772513002
2014-12-03 15:34:20 -08:00
reed
e5750729e4 Revert of Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/777003002/)
Reason for revert:
fix landed in chrome to allow this (I hope)

Original issue's description:
> Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/765643004/)
>
> Reason for revert:
> ../../skia/ext/bitmap_platform_device_cairo.cc:131:13: error: no member named 'eraseColor' in 'skia::BitmapPlatformDevice'
>
>
> Original issue's description:
> > remove unused device::eraseColor
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/b1ab276c3719d6690e58f347c25126d2b8929c5d
>
> TBR=reed@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8b0197ef2e32be9d62e79d58f8b50811975c79c6

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

Review URL: https://codereview.chromium.org/779543004
2014-12-03 13:17:29 -08:00
tfarina
9ed02e40d1 Add SK_SUPPORT_LEGACY_PORTER_DUFF macro.
This trick will be used to remove deprecated SkPorterDuff API. But first
we need to add it so Android can be updated later.

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

Review URL: https://codereview.chromium.org/758133004
2014-12-03 13:13:02 -08:00
egdaniel
c016fb8f9f Use static XPF for porter duff xp factories.
BUG=skia:

Review URL: https://codereview.chromium.org/776843004
2014-12-03 11:41:55 -08:00
bsalomon
ee64d6ef49 Add glGetShaderPrecisionFormat
Review URL: https://codereview.chromium.org/778703003
2014-12-03 10:46:08 -08:00
halcanary
8b0197ef2e Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/765643004/)
Reason for revert:
../../skia/ext/bitmap_platform_device_cairo.cc:131:13: error: no member named 'eraseColor' in 'skia::BitmapPlatformDevice'

Original issue's description:
> remove unused device::eraseColor
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/b1ab276c3719d6690e58f347c25126d2b8929c5d

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

Review URL: https://codereview.chromium.org/777003002
2014-12-03 10:41:11 -08:00
egdaniel
378092f3d1 Add XferProcessor factory in GrPaint and GrDrawState.
In this CL the XP should have zero effect on the actual rendering pipeline.

BUG=skia:

Review URL: https://codereview.chromium.org/751283002
2014-12-03 10:40:13 -08:00
reed
b1ab276c37 remove unused device::eraseColor
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/765643004
2014-12-03 09:47:48 -08:00
joshualitt
2dd1ae016d First step to moving vertex attributes to the geometryProcessor
BUG=skia:

Review URL: https://codereview.chromium.org/761563002
2014-12-03 06:24:10 -08:00
reed
af641a1c10 Revert "Change clear() to respect the clip"
This reverts commit 3729469d6a.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/778563002
2014-12-02 19:40:18 -08:00
abarth
9503ac7a3c Add matrix operations to C canvas API
R=reed@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/769123002
2014-12-02 15:47:34 -08:00
mtklein
701dd4fbd7 Flail a little against LLVM crash.
Cannot reproduce this in my local Chromium checkout (using their Clang, just like the bots).

BUG=skia:

TBR=reed@google.com

Review URL: https://codereview.chromium.org/764433003
2014-12-02 13:17:06 -08:00
scroggo
ca0e67261e Remove SK_SUPPORT_DEPRECATED_SCALARROUND.
Our clients no longer require it.

Review URL: https://codereview.chromium.org/772933002
2014-12-02 12:30:38 -08:00
Justin Novosad
5234075b1c Adding a PictureResolution option to SkPictureImageFilter
This change adds an option to SkPictureImageFilter to make it
rasterize SkPicture in a resolution that matches the local coordinate
space (equivalent to the record-time device space).

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

Review URL: https://codereview.chromium.org/753073010
2014-12-02 14:50:56 -05:00
reed
3729469d6a Change clear() to respect the clip
patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1)

BUG=skia:

Review URL: https://codereview.chromium.org/772533004
2014-12-02 10:08:11 -08:00
mtklein
cc969c4dd9 Make SkColorTable explicitly thread-safe.
Mostly this means using SkLazyPtr for the 16-bit cache.
We can remove the copy constructor now and just ref it instead.

BUG=skia:

Review URL: https://codereview.chromium.org/769323002
2014-12-02 10:02:47 -08:00
mtklein
775b8199a2 SkColorTable locking serves no purpose anymore.
The only thing the unlock methods were doing was assert their balance.
This removes the unlock methods and renames the lock methods "read".

BUG=skia:

Review URL: https://codereview.chromium.org/719213008
2014-12-02 09:11:25 -08:00
abarth
2fc6ea62ce Add scale and skew to C canvas API
R=reed@chromium.org
BUG=skia:

Review URL: https://codereview.chromium.org/762493005
2014-12-01 14:04:03 -08:00
mtklein
05d611574a SkDrawLooper: No need for virtual bounds computation methods.
No subclass overrides either method.

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

BUG=skia:

Review URL: https://codereview.chromium.org/772573003
2014-12-01 13:03:22 -08:00
egdaniel
4bd4e8031d Add function to return an unpremuled version of a GrColor
BUG=skia:

Review URL: https://codereview.chromium.org/773553002
2014-12-01 12:30:51 -08:00
mtklein
3f3b3d0035 Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
This was needed for pictures before v33, and we're now requiring v35+.

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

BUG=skia:

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

Review URL: https://codereview.chromium.org/769953002
2014-12-01 11:47:08 -08:00
scroggo
ca92fbd029 Remove orphaned SkImageDecoder::Target.
This was used by an experimental method on SkImageDecoder, which no
longer exists.

Review URL: https://codereview.chromium.org/760923003
2014-12-01 11:35:19 -08:00
mtklein
af57903f33 Force SkMatrix type while recording too.
This switches to a new way of doing this, enforcing the caching with the type
recorded rather than having to do it in SkRecorder.  Should be more foolproof.

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

BUG=437511

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

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

Review URL: https://codereview.chromium.org/773433003
2014-12-01 11:03:37 -08:00
mtklein
6e78293ee8 Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/)
Reason for revert:
Breaks canary builds.  Will reland after the Chromium change lands.

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

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

Review URL: https://codereview.chromium.org/768183002
2014-12-01 10:56:05 -08:00
mtklein
52c293547b Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
This was needed for pictures before v33, and we're now requiring v35+.

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

BUG=skia:

Review URL: https://codereview.chromium.org/769953002
2014-12-01 10:23:11 -08:00
cdalton
20b373cf31 Add color emoji fallback for nvpr text
BUG=skia:

Review URL: https://codereview.chromium.org/759613005
2014-12-01 08:38:55 -08:00
mtklein
5c9c9be1f5 Force path bounds in recording.
The use of SKTRacy isn't safe in SkPathRef.
There are logical dependencies between the racy fields.

Doesn't seem to affect recording performance:

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

Review URL: https://codereview.chromium.org/762313002
2014-12-01 06:59:55 -08:00
mtklein
88fd0fbccc Bump min picture version.
Chrome Stable is M39, which produces picture format v35:
    https://chromium.googlesource.com/skia/+/chrome/m39/include/core/SkPicture.h

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

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

BUG=skia:

Review URL: https://codereview.chromium.org/770703002
2014-12-01 06:56:38 -08:00
jvanverth
5eefe42e72 Fix assert in GrMaskFormatBytesPerPixel.
BUG=skia:3174

Review URL: https://codereview.chromium.org/762553006
2014-11-26 12:07:33 -08:00
joshualitt
267ce482b5 remove proc key
BUG=skia:

Review URL: https://codereview.chromium.org/755363002
2014-11-25 14:52:21 -08:00
scroggo
f3ca41c723 Add an Android-framework-only stable ID to SkPixelRef.
BUG:b/18245805

Review URL: https://codereview.chromium.org/752203002
2014-11-25 13:42:12 -08:00
bsalomon
a2c2323005 Remove GrSurface::isSameAs
Review URL: https://codereview.chromium.org/753783003
2014-11-25 07:41:12 -08:00
mtklein
21180e2651 Revert of Blink hasn't rolled yet, better. (patchset #1 id:1 of https://codereview.chromium.org/758693002/)
Reason for revert:
Try again, for real.

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

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

Review URL: https://codereview.chromium.org/754303004
2014-11-25 07:30:19 -08:00
bsalomon
10e23caea3 Use scratch keys for stencil buffers.
BUG=skia:2889

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

Review URL: https://codereview.chromium.org/747043004
2014-11-25 05:52:06 -08:00
reed
26a6bf6a26 free up picturerecorder refs after returning picture or drawable
this just accelerates what would happen on the next beginRecording() call or the destructor. chrome has unittests that break (shaders on the stack) if we hold on to the internals past endRecording().

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/758813002
2014-11-24 19:59:23 -08:00
reed
afa278e250 more c
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/736133006
2014-11-24 19:11:48 -08:00
reed
1bdfd3f4f0 option to return drawable from recording
patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001)

BUG=skia:

Review URL: https://codereview.chromium.org/732653004
2014-11-24 14:41:51 -08:00
Mike Klein
89ff0846fd Blink hasn't rolled yet, better.
BUG=skia:

Review URL: https://codereview.chromium.org/758693002
2014-11-24 17:31:54 -05:00
mtklein
a2a5cd4405 Revert of Blink hasn't rolled yet. (patchset #1 id:1 of https://codereview.chromium.org/754133002/)
Reason for revert:
Not thorough enough.

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

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

Review URL: https://codereview.chromium.org/752303002
2014-11-24 14:28:55 -08:00
reed
3c850c561f restore old convention of asserting refcnt==1 in destructor
BUG=skia:

Review URL: https://codereview.chromium.org/757563003
2014-11-24 14:13:55 -08:00
Mike Klein
fa14113d05 Blink hasn't rolled yet.
BUG=skia:

Review URL: https://codereview.chromium.org/754133002
2014-11-24 16:26:15 -05:00
mtklein
bbb61d7268 make SkRefCnt::getRefCnt() debug-only, remove it from SkNVRefCnt.
Only (unused) API removed.
TBR=reed@google.com

BUG=skia:3160

Review URL: https://codereview.chromium.org/752263002
2014-11-24 13:09:39 -08:00
bsalomon
19cd0f1813 Revert "Use scratch keys for stencil buffers."
This reverts commit 91175f1966.

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

This reverts commit 4e4303f002.

Revert "rebaselines"

This reverts commit 65ba7b5775.

TBR=tomhudson@google.com

Review URL: https://codereview.chromium.org/752233002
2014-11-24 12:19:06 -08:00
reed
90d0ff013b add some debugging to SkNVRefCnt
BUG=skia:

Review URL: https://codereview.chromium.org/745383003
2014-11-24 12:02:31 -08:00
scroggo
01c412e40a Remove android-framework-only unused parameter.
Allows -Werror=unused-parameter to build on android framework.

Review URL: https://codereview.chromium.org/757633002
2014-11-24 09:05:35 -08:00
mtklein
04c9695055 Remove Picture deletion listeners.
Looks like we can just have ~SkPicture put the message on the bus directly.

BUG=skia:3144

Review URL: https://codereview.chromium.org/751663002
2014-11-24 08:20:58 -08:00