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
tfarina
f9dae780c2
Remove GrIsPow2 in favor of SkIsPow2.
...
Looks like there is no good reason to have two copies of this function
doing the same thing with different name.
BUG=None
TEST=make tests
R=bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/318873002
2014-06-06 06:35:28 -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
Hal Canary
479bb60622
Remove SkImageRef and related functionality.
...
From here on out, use SkDecodingImageGenerator+SkDiscardablePixelRef.
R=scroggo@google.com
Review URL: https://codereview.chromium.org/100183002
2014-06-04 14:38:48 -04:00
egdaniel
90b8cafb6a
Revert of Move Dashing filterPath to a dashing utils file ( https://codereview.chromium.org/314623004/ )
...
Reason for revert:
Need to create utils.gypi file and update chrome
Original issue's description:
> Move Dashing filterPath to a dashing utils file
>
> From inside GrContext, we have a need to create an SkPath an original path and
> some dashing info. We do not have access to the original path effect so we need
> a way to make the FilterPath function accessible outside of the effect. So I moved
> the core filterPath code (and all need helper functions) out of SkDashPathEffect
> and created a SkDashPath in utils to store these helper functions.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/576dcdc793a762ec63fbecdbfd5768066b548fe5
R=bsalomon@google.com , reed@google.com , rmistry@google.com
TBR=bsalomon@google.com , reed@google.com , rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/317663003
2014-06-04 09:59:08 -07:00
egdaniel
576dcdc793
Move Dashing filterPath to a dashing utils file
...
From inside GrContext, we have a need to create an SkPath an original path and
some dashing info. We do not have access to the original path effect so we need
a way to make the FilterPath function accessible outside of the effect. So I moved
the core filterPath code (and all need helper functions) out of SkDashPathEffect
and created a SkDashPath in utils to store these helper functions.
BUG=skia:
R=bsalomon@google.com , reed@google.com , rmistry@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/314623004
2014-06-04 08:15:53 -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
scroggo
65044bfe02
Return NULL when building empty LayerRasterizer.
...
In SkLayerRasterizer::snapshotRasterizer() and ::detachRasterizer(),
if no layers have been added, do not attempt to create an
SkLayerRasterizer. Instead, return NULL.
This fixes an error when running tests on Android.
Update dox to state that NULL may be returned.
Add tests.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/313653006
2014-06-03 13:12:51 -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
scroggo
f9f1547683
Remove unitmappers header.
...
This file contained a bunch of unitmappers. Luckily noone includes
it, since it wouldn't compile (the unitmapper class was removed in
https://codereview.chromium.org/288313009 ).
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/295383013
2014-06-02 11:32:56 -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
krajcevski
9c0e629c64
Initial work to get ETC1 data up to the GPU
...
Committed: http://code.google.com/p/skia/source/detail?r=15001
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/302783002
2014-06-02 07:38:15 -07:00
robertphillips
901e96df69
Add Sample slide for Rectanizers
...
R=jvanverth@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/303263005
2014-06-02 07:15:18 -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
ed4dc2afaa
remove SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE
...
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/308953002
git-svn-id: http://skia.googlecode.com/svn/trunk@15016 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-31 21:47:03 +00: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
999cfd1076
Revert of Initial work to get ETC1 data up to the GPU ( https://codereview.chromium.org/302783002/ )
...
Reason for revert:
ETC1 linking problems with chrome.
Original issue's description:
> Initial work to get ETC1 data up to the GPU
>
> Committed: http://code.google.com/p/skia/source/detail?r=15001
R=bsalomon@google.com , robertphillips@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/303273008
git-svn-id: http://skia.googlecode.com/svn/trunk@15004 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:36:21 +00:00
senorblanco@chromium.org
910702b564
Implement SkPictureImageFilter bounds computation.
...
SkPictureImageFilter::onFilterBounds() was unimplemented, causing
incorrect results for SVG filters and impl-side painting (see Chrome
bug https://code.google.com/p/chromium/issues/detail?id=375162 ).
BUG=skia:
R=reed@google.com
Review URL: https://codereview.chromium.org/306733003
git-svn-id: http://skia.googlecode.com/svn/trunk@15003 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:36:15 +00:00
commit-bot@chromium.org
af091a176d
Initial work to get ETC1 data up to the GPU
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/302783002
git-svn-id: http://skia.googlecode.com/svn/trunk@15001 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 18:41:39 +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
6e7ddaae0a
Move the LATC and ETC1 enum values to GrPixelConfig. I also tried to put in checks in a few places to make sure that we weren't using these pixel configurations in places that we shouldn't be.
...
LATC is a DXT-esque alpha compression format that goes by a few other names (RGTC, 3DC). It might be useful to investigate using it to compress the alpha masks that we get from software rasterization. This patch set adds enums for that and recognition whether or not the device can support it.
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/304743004
git-svn-id: http://skia.googlecode.com/svn/trunk@14991 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:55:58 +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
f9bd04faff
Constify the arguments to createTexture
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/301993002
git-svn-id: http://skia.googlecode.com/svn/trunk@14975 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 19:26:48 +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