aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* First pass at splitting out SkPictureRecord from SkPictureGravatar robertphillips2014-06-08
| | | | | | | | | | | | 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
* Clean up Skia for Clang's -Wtautological-undefined-compareGravatar Mike Klein2014-06-07
| | | | | | | | 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
* Fixing another clusterfuzz issueGravatar sugoi2014-06-06
| | | | | | | | | | | | | | | 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
* Remove GrIsPow2 in favor of SkIsPow2.Gravatar tfarina2014-06-06
| | | | | | | | | | | | | 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
* Add SkBarriers_tsan.h.Gravatar mtklein2014-06-06
| | | | | | | | | | | | | | 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
* Initial KTX encoderGravatar krajcevski2014-06-06
| | | | | | | | | | | 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
* SkClipStack::Element tweaks.Gravatar fmalita2014-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ( 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
* remove SkBitmap::allocConfigPixels and update doxGravatar reed2014-06-05
| | | | | | | | | | I see no callers in android R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/310283004
* Use the correct homophone of 'there'.Gravatar scroggo2014-06-05
| | | | | | | | | R=reed@google.com TBR=reed@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/319493004
* Remove SkImageRef and related functionality.Gravatar Hal Canary2014-06-04
| | | | | | | | From here on out, use SkDecodingImageGenerator+SkDiscardablePixelRef. R=scroggo@google.com Review URL: https://codereview.chromium.org/100183002
* Revert of Move Dashing filterPath to a dashing utils file ↵Gravatar egdaniel2014-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Move Dashing filterPath to a dashing utils fileGravatar egdaniel2014-06-04
| | | | | | | | | | | | | | | 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
* Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)Gravatar robertphillips2014-06-04
| | | | | | | | R=reed@google.com, bsalomon@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/313613004
* Return NULL when building empty LayerRasterizer.Gravatar scroggo2014-06-03
| | | | | | | | | | | | | | | | | | 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
* Initial KTX file decoderGravatar krajcevski2014-06-03
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com, halcanary@google.com, reed@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/302333002
* SK_CPU_ARM --> SK_CPU_ARM32Gravatar mtklein2014-06-03
| | | | | | | | | | | 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
* remove SkBounder -- unused and unlovedGravatar reed2014-06-03
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/312553006
* Remove legacy picture recordingGravatar robertphillips2014-06-03
| | | | | | | | | | | | 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
* add makeOffset and makeInset to SkRectGravatar reed2014-06-02
| | | | | | | | | | TBR=bsalomon precursor for https://codereview.chromium.org/306013010 Author: reed@google.com Review URL: https://codereview.chromium.org/306893012
* use colortype instead of configGravatar reed2014-06-02
| | | | | | | | | | | | clone of https://codereview.chromium.org/305133006/ TBR= BUG=skia: Author: reed@google.com Review URL: https://codereview.chromium.org/301233011
* Remove unitmappers header.Gravatar scroggo2014-06-02
| | | | | | | | | | | | 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
* Clean up SkOnce:Gravatar mtklein2014-06-02
| | | | | | | | | | | | | | | | 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
* Move GrIPoint16 to SkIPoint16 (and remove GrPoint.h)Gravatar robertphillips2014-06-02
| | | | | | | | R=bsalomon@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/309683002
* Port most uses of SkOnce to SkLazyPtr.Gravatar mtklein2014-06-02
| | | | | | | | | | | | | | 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
* Initial work to get ETC1 data up to the GPUGravatar krajcevski2014-06-02
| | | | | | | | | | 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
* Add Sample slide for RectanizersGravatar robertphillips2014-06-02
| | | | | | | | R=jvanverth@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/303263005
* hide SkDevice::config()Gravatar reed2014-06-02
| | | | | | | | TBR=robertphilips Author: reed@chromium.org Review URL: https://codereview.chromium.org/302253002
* remove SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLEGravatar commit-bot@chromium.org2014-05-31
| | | | | | | | | | 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
* Revert of Port most uses of SkOnce to SkLazyPtr. ↵Gravatar commit-bot@chromium.org2014-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Port most uses of SkOnce to SkLazyPtr.Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | 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
* Add a way for the gpu veto to report back the reason why it said noGravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | 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
* fix casting issue with or operatorGravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | 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
* Revert of Port most uses of SkOnce to SkLazyPtr. ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Port most uses of SkOnce to SkLazyPtr.Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | 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
* Add an OR operator overload for SaveFlags to avoid extra static casts.Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | 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
* Revert of Initial work to get ETC1 data up to the GPU ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | | | | | | | | | | (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
* Implement SkPictureImageFilter bounds computation.Gravatar senorblanco@chromium.org2014-05-30
| | | | | | | | | | | | | 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
* Initial work to get ETC1 data up to the GPUGravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | 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
* Test font created from paintGravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | 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
* Move the LATC and ETC1 enum values to GrPixelConfig. I also tried to put in ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | 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
* Revert "Revert of setConfig -> setInfo ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | (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
* Fix the rendering error of SkDraw::drawVertices in gpu path for solid color.Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | 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
* Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | | | | | | | | | | | 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
* setConfig -> setInfoGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | 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
* SkLazyPtr, mk. 2Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Constify the arguments to createTextureGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | 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
* Add SkBarriers to ports.Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | 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
* legacy refEncodedData() returns data, not boolGravatar reed@google.com2014-05-29
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14961 2bbb7eff-a529-9590-31e7-b0007b416f81
* replace config() with colorType()Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | 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
* Revert "Revert of add colortable support to imagegenerator ↵Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | | | | (https://codereview.chromium.org/304443003/)" Fix is to add colortable param to installPixels() This reverts commit 924205aaf2e0c3c65dda13e0eaccde3e7b2a5c40. 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