aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
Commit message (Collapse)AuthorAge
* Add gpu implementation of OverdrawXfermodeGravatar robertphillips2016-01-20
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002 Review URL: https://codereview.chromium.org/1607253002
* SkTCopyOnFirstWrite-based SkPaintFilterCanvas APIGravatar fmalita2016-01-12
| | | | | | | | | | | | | | | I find this version preferable because 1) it consolidates the in/out paint args without compromising efficiency or flexibility 2) relieves overriders from having to set the SkTLazy explicitly BUG=skia:4782 R=mtklein@google.com,reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1576183002 Review URL: https://codereview.chromium.org/1576183002
* SkPaintFilterCanvas skip-draw supportGravatar fmalita2016-01-11
| | | | | | | | | | | | | | | | | At the time SkPaintFilterCanvas was introduced as a SkDrawFilter replacement, no clients were relying on the draw veto logic. Now Chromium does. To facilitate migrating off SkDrawFilter, let's augment SkPaintFilterCanvas with skip-draw semantics. A side effect of the CL is that now we call the filter virtual even for null paints. BUG=skia:4782 R=reed@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577933002 Review URL: https://codereview.chromium.org/1577933002
* Start using <type_traits> and <utility> (C++11).Gravatar bungeman2016-01-05
| | | | | | | | | | | | | | SkUtility.h and SkTLogic.h implement a number of type traits now available through <type_traits> and <utility>. This removes SkUtility.h, replacing it with <utility>, and moves a number of traits in SkTLogic.h to use the std:: equivelents. This change only uses C++11 parts of the standard library; SkTLogic.h will continue to provide C++14 and beyond for now in the skstd namespace. The changes to SkTLogic.h are being done gradually so that safe changes may be landed confidently, with more risky changes in the future. Review URL: https://codereview.chromium.org/1561683002
* [SkDebugger] Display run glyph positioning modesGravatar fmalita2016-01-04
| | | | | | | R=robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1559883002 Review URL: https://codereview.chromium.org/1559883002
* remove cruft from SkTypes.h, including SkBoolGravatar reed2015-12-27
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1548223002 TBR= Review URL: https://codereview.chromium.org/1548223002
* remove unused SkCubicIntervalGravatar reed2015-12-23
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533393005 TBR=scroggo Review URL: https://codereview.chromium.org/1533393005
* remove unused SkCullPointsGravatar reed2015-12-21
| | | | | | | | | | | | need to remove file references from chrome before landing this https://codereview.chromium.org/1547603002# BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541933004 TBR=scroggo Review URL: https://codereview.chromium.org/1541933004
* Move SkAndroidSDKCanvas to tools and ensure that it is built on all Android ↵Gravatar djsollen2015-12-18
| | | | | | | | builds GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1536013003 Review URL: https://codereview.chromium.org/1536013003
* update androidsdk to new savelayer signatureGravatar reed2015-12-18
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1540583002 NOTRY=True NOTREECHECKS=True TBR= Review URL: https://codereview.chromium.org/1540583002
* change signature for virtual related to saveLayer, passing SaveLayerRecGravatar reed2015-12-18
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533953002 NOTREECHECKS=True Review URL: https://codereview.chromium.org/1533953002
* Reland of move drawSprite from canvas (patchset #1 id:1 of ↵Gravatar reed2015-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1529803004/ ) Reason for revert: guard has landed in chrome Original issue's description: > Revert of remove drawSprite from canvas (patchset #4 id:60001 of https://codereview.chromium.org/1534443003/ ) > > Reason for revert: > need to remove an override in chrome > > Original issue's description: > > remove drawSprite from canvas > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1 > > TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/32704674f64cb6a14356dfebe060cd3484c06cc7 TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1530203002
* Revert of remove drawSprite from canvas (patchset #4 id:60001 of ↵Gravatar reed2015-12-16
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1534443003/ ) Reason for revert: need to remove an override in chrome Original issue's description: > remove drawSprite from canvas > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1 TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1529803004
* remove drawSprite from canvasGravatar reed2015-12-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1534443003
* Fix a crash in SkParsePath::FromSVGStringGravatar scroggo2015-12-11
| | | | | | BUG=skia:3491 Review URL: https://codereview.chromium.org/1515193002
* ubsan shift fixesGravatar caryclark2015-12-09
| | | | | | | | | | | Use an inline function that does a normal shift. When built for the sanitizer, add casts so that the shift is unsigned. Also make a few fixes to do unsigned shifts or avoid the shift altogether; and add an argument spec to some macros. R=reed@google.com,mtklein@google.com BUG=skia:4633 Review URL: https://codereview.chromium.org/1503423003
* [SkDebugger] Show more text blob detailsGravatar fmalita2015-12-08
| | | | | | | | | | * run count * glyph count (per run) * run paint (per run) R=robertphillips@google.com Review URL: https://codereview.chromium.org/1507033003
* Allow SkStream::peek() to partially succeedGravatar scroggo2015-12-07
| | | | | | | | | | | | | | | | | | | | If the stream can peek less than requested, peek that amount. Return the number of bytes peeked. This simplifies crrev.com/1472123002. For a stream that is smaller than 14 bytes, it can successfully peek, meaning the client will not need to fall back to read() + rewind(), which may fail if the stream can peek but not rewind. This CL revives code from patch set 3 of crrev.com/1044953002, where I initially introduced peek() (including tests). Add a test for SkFrontBufferedStream that verifies that peeking does not make rewind() fail (i.e. by reading past the internal buffer). BUG=skia:3257 Review URL: https://codereview.chromium.org/1490923005
* report back colorfilters in luaGravatar reed2015-12-04
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1498293002
* Upgrade debugger to print more SkPath info (isOval & isRRect)Gravatar robertphillips2015-11-24
| | | | Review URL: https://codereview.chromium.org/1470063002
* Eliminate SkFILE: it always is the same as FILE.Gravatar halcanary2015-11-20
| | | | Review URL: https://codereview.chromium.org/1467533003
* [debugger] Add visualization of center rect for drawBitmapNine callsGravatar robertphillips2015-11-18
| | | | Review URL: https://codereview.chromium.org/1462643002
* Assert when running SampleApp with msaa 16 on Windows 10Gravatar aleksandar.stojiljkovic2015-11-05
| | | | | | | | | Trivial: skip calling SkWGLExtensions::selectFormat with 0 elements, and handle if called. BUG=4529 Review URL: https://codereview.chromium.org/1427583007
* Start making all .cpp files compile-able on all platforms.Gravatar mtklein2015-11-02
| | | | | | | | | | | | | | | | | | | | | | | I sometimes dream to hone our build process down to something as simple as $ find src -name '*.cpp' | xargs c++ <some cflags> -c -o skia.o To start, it helps if we can compile all files on all platforms. Each non-portable file guards itself with defines provided by SkTypes.h. This does not convert all non-portable code, but it's a good representative chunk. E.g. instead of having to remember which SkDebug_*.cpp to compile on which platform we can just compile all three and let the code itself sort it out. This has the nice side effect of making non-portable code declare the conditions under which it can compile explicitly. I've been testing mostly with the CMake build as it's easiest, but this should apply equally to BUILD, Gyp, and GN files... to any build system really. BUG=skia:4269 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1411283005
* [SkDebugger] Show detailed drawImage infoGravatar fmalita2015-10-29
| | | | | | R=robert.phillips@google.com Review URL: https://codereview.chromium.org/1409393007
* Add generationID to debugger's path informationGravatar robertphillips2015-10-29
| | | | Review URL: https://codereview.chromium.org/1412013005
* Simplify linkages to Android framework internalsGravatar tomhudson2015-10-26
| | | | | | | | | | We've migrated SkHwuiRenderer into the Android Framework as android::uirenderer::TestWindowContext in response to an internal bug; we now delete that class and change our build references here. R=djsollen@google.com Review URL: https://codereview.chromium.org/1407053009
* Remove SkThread::setProcessorAffinity()Gravatar mtklein2015-10-20
| | | | | | | | | | It's only used by a couple unit tests. We have other ways of getting the same quality testing of our ref-count code now (e.g. TSAN). BUG=skia: CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1408213005
* Remove params from Cacherator_GrTextureMakerGravatar bsalomon2015-10-15
| | | | Review URL: https://codereview.chromium.org/1403313003
* Remove image usage type enum. Use GrTextureParams instead.Gravatar bsalomon2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1404433002
* Move functions from SkGr to SkGrPriv.hGravatar bsalomon2015-10-09
| | | | Review URL: https://codereview.chromium.org/1397123002
* [SkDebugger] Handle path empty-bounds gracefullyGravatar fmalita2015-10-06
| | | | | | | | | Paths with empty bounds crash the debugger: mapping their bounds onto the shapshot area gets the canvas into an unhappy state. R=robertphillips@google.com Review URL: https://codereview.chromium.org/1387173003
* Add overrides to SkAndroidSDKCanvas, update SkHwuiRendererGravatar tomhudson2015-10-01
| | | | | | | | | | | | | | We can not call android::uirenderer::DisplayListCanvas::reset() after the object has been constructed (due to an assert), so remove that call. Add two missing overrides to SkAndroidSDKCanvas: onDrawAtlas() and onDrawImageNine(). BUG=skia:4216 R=djsollen@google.com patch from issue 1377533003 at patchset 20001 (http://crrev.com/1377533003#ps20001) Review URL: https://codereview.chromium.org/1369923003
* Have /src files use header directly.Gravatar herb2015-09-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1373253003
* Move SkAtomics.h to private.Gravatar herb2015-09-28
| | | | | | | | | | There are no API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1369333004
* Remove SkBitmapSourceGravatar fmalita2015-09-25
| | | | | | | | | To avoid breaking existing SKPs, add a deserialization stub which unflattens SkBitmapSource records to SkImageSources. R=reed@google.com,mtklein@google.com,robertphillips@google.com Review URL: https://codereview.chromium.org/1363913002
* Improve debugger's visualization of transparent texturesGravatar robertphillips2015-09-24
| | | | Review URL: https://codereview.chromium.org/1362693003
* Forward declare SkStrokeRec in SkPathEffectGravatar halcanary2015-09-15
| | | | Review URL: https://codereview.chromium.org/1312163008
* Update SkWhitelistChecksums.cpp with the checksums of the fonts on the CT ↵Gravatar rmistry2015-09-14
| | | | | | | | | | | | slave machines. This file was generated using the whitelist_typefaces tool. I tried out this file on 3 of the 100 CT slaves and './out/Debug/whitelist_typefaces --check' successfully returned 0. BUG=skia:4336 Review URL: https://codereview.chromium.org/1344553004
* Port uses of SkLazyPtr to SkOncePtr.Gravatar mtklein2015-09-09
| | | | | | | | | | | | | | | | This gives SkOncePtr a non-trivial destructor that uses std::default_delete by default. This is overrideable, as seen in SkColorTable. SK_DECLARE_STATIC_ONCE_PTR still just leaves its pointers hanging at EOP. BUG=skia: No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/a1254acdb344174e761f5061c820559dab64a74c Review URL: https://codereview.chromium.org/1322933005
* Revert of Port uses of SkLazyPtr to SkOncePtr. (patchset #7 id:110001 of ↵Gravatar mtklein2015-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1322933005/ ) Reason for revert: Breaks Chrome roll. obj/skia/ext/skia_chrome.skia_memory_dump_provider.o does not have -I include/private on its include path, but transitively includes SkMessageBus.h. Original issue's description: > Port uses of SkLazyPtr to SkOncePtr. > > This gives SkOncePtr a non-trivial destructor that uses std::default_delete > by default. This is overrideable, as seen in SkColorTable. > > SK_DECLARE_STATIC_ONCE_PTR still just leaves its pointers hanging at EOP. > > BUG=skia: > > No public API changes. > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/a1254acdb344174e761f5061c820559dab64a74c TBR=herb@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1334523002
* Port uses of SkLazyPtr to SkOncePtr.Gravatar mtklein2015-09-09
| | | | | | | | | | | | | | This gives SkOncePtr a non-trivial destructor that uses std::default_delete by default. This is overrideable, as seen in SkColorTable. SK_DECLARE_STATIC_ONCE_PTR still just leaves its pointers hanging at EOP. BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1322933005
* Revert of Provides multiple implementations of Android's ↵Gravatar msarett2015-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | SkBitmapRegionDecoder (patchset #16 id:360001 of https://codereview.chromium.org/1288963002/ ) Reason for revert: Breaking Android bots Bad use of the utils folder Original issue's description: > Provides various implementations of Android's SkBitmapRegionDecoder. > > Implements testing in DM for these implementations. > > nanobench testing will follow after this. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/76f755e6d54a32f9887ad254ce59a3a62f28bde4 TBR=scroggo@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1322773004
* Provides various implementations of Android's SkBitmapRegionDecoder.Gravatar msarett2015-09-04
| | | | | | | | | | Implements testing in DM for these implementations. nanobench testing will follow after this. BUG=skia: Review URL: https://codereview.chromium.org/1288963002
* Replace font name table access with standard Skia function.Gravatar caryclark2015-09-02
| | | | | | | | Remove partial name detection. Fix typo in custom deserializer to use the sk_ truncated font name. Review URL: https://codereview.chromium.org/1327683002
* Suppress embedding fonts when the skp's fonts match the OS fonts.Gravatar caryclark2015-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The million SKPs generated require >5T of storage. A good deal of that are copies of system fonts. Chrome built with #DEFINE SK_WHITELIST_SERIALIZED_TYPEFACES will omit the font data if the font matches a precomputed checksum. The captured SKP prepends sk_ to the names of fonts that have their data omitted. The SKP consumer can either add renamed fonts from the recording machine, or add gDeserializeTypefaceDelegate = WhitelistDeserializeTypeface; which strips the sk_ prefix when deserializing typefaces. whitelist_typefaces --check Computes the checksums of fallback fonts and returns 0 if the checksums match the checked-in file SkWhitelistChecksum.cpp. whitelist_typefaces --generate Writes an updated version of SkWhitelistChecksum.cpp. (Added Mike since this modifies a public header) R=bungeman@google.com,rmistry@google.com,reed@google.com Review URL: https://codereview.chromium.org/1317913005
* Clean up SkTLogic.Gravatar bungeman2015-08-28
| | | | | | | | | This change regularizes Skia's type traits so that when <type_traits> can finally be used the transition is easier. Various traits are renamed to match <type_traits> and placed in the skstd namespace. Current users of these traits are updated. Review URL: https://codereview.chromium.org/1317593004
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Style Change: SkNEW->new; SkDELETE->deleteGravatar halcanary2015-08-26
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003
* zero-length cap fixGravatar caryclark2015-08-26
| | | | | | | | | | | | | | | | | | Re-land; layout tests are suppressed and gm differences are understood. A merge conflict prevented a automatic reland. If the endcap is not butt, draw the endcaps even when the line has zero length. If the dash length is zero, generate a zero length line segment. Treat a move followed by a close as a move followed by a zero-length line. TBR=reed@google.com BUG=422974 Review URL: https://codereview.chromium.org/1314213002