aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkTypes.h
Commit message (Collapse)AuthorAge
* Add debug mode to shared mutex.Gravatar herb2015-09-18
| | | | Review URL: https://codereview.chromium.org/1307863009
* Replace SkPin32 with SkTPin and remove.Gravatar bungeman2015-08-28
| | | | | | | SkPin32 is already just forwarding to SkTPin, so convert existing users and remove SkPin32. Review URL: https://codereview.chromium.org/1314583003
* Remove sys/types.h include from SkTypes.h.Gravatar bungeman2015-08-28
| | | | | | | It appears this was added to support SkToOffT, but SkToOffT is no longer used, so it is removed as well. Review URL: https://codereview.chromium.org/1306963004
* Remove include of stdlib.h from SkTypes.h.Gravatar bungeman2015-08-26
| | | | | | | | | | | | | | | Unfortunately, immintrin.h (which is also included by SkTypes) includes xmmintrin.h which includes mm_malloc.h which includes stdlib.h for malloc even though, from the implementation, it is difficult to see why. Fortunately, arm_neon.h does not seem to be involved in such shenanigans, so building for Android will keep things sane. TBR=reed@google.com Doesn't change Skia API, just moves an include. Review URL: https://codereview.chromium.org/1313203003
* Remove SK_OFFSETOF from SkTypes, clean up offsetof usage.Gravatar bungeman2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this was to remove SK_OFFSETOF from SkTypes, but this CL is mostly about cleaning up our use of offsetof generally. SK_OFFSETOF is removed to SkTypes and added to the two places it is actually used (for the non standard behavior of finding the offset of fields in types which are not standard layout). Older versions of gcc required POD for offsetof to be used without warning. Newer versions require the more relaxed standard layout. Now that we no longer build on older versions of gcc, remove the old warning suppressions. PODMatrix is renamed to AggregateMatrix. SkMatrix is already POD (trivial and standard layout). The PODMatrix name implies that the POD-ness is needed for the offsetof, but it is actually the aggregate attribute which is needed for compile time constant initialization. This makes it more obvious that this can be revisited after we can rely on constexpr constructors. This also adds skstd::declval since this allows removal of existing awkward code which casts a constant to a pointer to find the size of a field. TBR=reed@google.com No API change, only removes unused macro. Review URL: https://codereview.chromium.org/1309523003
* Use static_assert instead of SK_COMPILE_ASSERT.Gravatar bungeman2015-08-20
| | | | | | | Now that static_assert is allowed, there is no need to use a non- standard compile time assertion Review URL: https://codereview.chromium.org/1306443004
* Revert of cast SK_ARRAY_COUNT to make it sign agnostic (patchset #1 id:1 of ↵Gravatar caryclark2015-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1299943002/ ) Reason for revert: fails on chrome build on windows Original issue's description: > cast SK_ARRAY_COUNT to make it sign agnostic > > By adding a cast to SK_ARRAY_COUNT, the compiler treats the > compile-time value as if it were a const int, and like regular > numbers, permits it to be compared to signed and unsigned > numbers freely. > > R=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/bca86202a48b2afa527b6e40d8b360ce3bc7c2e7 TBR=reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1285263007
* cast SK_ARRAY_COUNT to make it sign agnosticGravatar caryclark2015-08-19
| | | | | | | | | | | By adding a cast to SK_ARRAY_COUNT, the compiler treats the compile-time value as if it were a const int, and like regular numbers, permits it to be compared to signed and unsigned numbers freely. R=reed@google.com Review URL: https://codereview.chromium.org/1299943002
* IWYU: 'core' target, files starting A-C.Gravatar bungeman2015-08-05
| | | | | | | | | TBR=reed@google.com Verbal lgtm, does not change API. Committed: https://skia.googlesource.com/skia/+/7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69 Review URL: https://codereview.chromium.org/1265033002
* Revert of IWYU: 'core' target, files starting A-C. (patchset #5 id:80001 of ↵Gravatar reed2015-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1265033002/ ) Reason for revert: revert to unblock DEPS roll ../../chrome/browser/chromeos/display/overscan_calibrator.cc:43:10: error: variable has incomplete type 'SkPath' SkPath base_path; Original issue's description: > IWYU: 'core' target, files starting A-C. > > TBR=reed@google.com > Verbal lgtm, does not change API. > > Committed: https://skia.googlesource.com/skia/+/7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69 TBR=reed@google.com,mtklein@google.com,bungeman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1273613002
* IWYU: 'core' target, files starting A-C.Gravatar bungeman2015-08-04
| | | | | | | TBR=reed@google.com Verbal lgtm, does not change API. Review URL: https://codereview.chromium.org/1265033002
* Clean up a few includes, introduce iwyu.Gravatar bungeman2015-07-29
| | | | | | | | | The current include-what-you-use with current clang is much less noisy and more useful than it has been in the past. This change introduces a few IWYU directives (which are helpful documentation for humans as well) and fixes a few sets of includes. Review URL: https://codereview.chromium.org/1207893002
* SK_ARRAY_COUNT shouldn't work on pointers.Gravatar mtklein2015-05-07
| | | | | | | | | | | | Simpler version of https://codereview.chromium.org/1123923002/ BUG=skia:3593 R=brucedawson@chromium.org,reed@google.com,tfarina@chromium.org No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1114283003
* De-proc Color32Gravatar mtklein2015-04-27
| | | | | | | | | | | | | | | | | | | | | Also strips SK_SUPPORT_LEGACY_COLOR32_MATH, which is no longer needed. Seems handy to have SkTypes include the relevant intrinsics when we know we've got them, but I'm not married to it. Locally this looks like a pointlessly small perf win, but I'm mostly keen to get all the code together. BUG=skia: Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b Committed: https://skia.googlesource.com/skia/+/d65dc0cedd5b50dd407b6ff8fdc39123f11511cc CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Mips-Debug-Android-Trybot Review URL: https://codereview.chromium.org/1104183004
* Revert of De-proc Color32 (patchset #5 id:80001 of ↵Gravatar mtklein2015-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1104183004/) Reason for revert: duh Original issue's description: > De-proc Color32 > > Also strips SK_SUPPORT_LEGACY_COLOR32_MATH, > which is no longer needed. > > Seems handy to have SkTypes include the relevant intrinsics when > we know we've got them, but I'm not married to it. > > Locally this looks like a pointlessly small perf win, but I'm mostly > keen to get all the code together. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b > > Committed: https://skia.googlesource.com/skia/+/d65dc0cedd5b50dd407b6ff8fdc39123f11511cc TBR=reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1102363006
* De-proc Color32Gravatar mtklein2015-04-27
| | | | | | | | | | | | | | | | | Also strips SK_SUPPORT_LEGACY_COLOR32_MATH, which is no longer needed. Seems handy to have SkTypes include the relevant intrinsics when we know we've got them, but I'm not married to it. Locally this looks like a pointlessly small perf win, but I'm mostly keen to get all the code together. BUG=skia: Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b Review URL: https://codereview.chromium.org/1104183004
* Revert of De-proc Color32 (patchset #4 id:60001 of ↵Gravatar mtklein2015-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1104183004/) Reason for revert: MIPS Original issue's description: > De-proc Color32 > > Also strips SK_SUPPORT_LEGACY_COLOR32_MATH, > which is no longer needed. > > Seems handy to have SkTypes include the relevant intrinsics when > we know we've got them, but I'm not married to it. > > Locally this looks like a pointlessly small perf win, but I'm mostly > keen to get all the code together. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b TBR=reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1108163002
* De-proc Color32Gravatar mtklein2015-04-27
| | | | | | | | | | | | | | | Also strips SK_SUPPORT_LEGACY_COLOR32_MATH, which is no longer needed. Seems handy to have SkTypes include the relevant intrinsics when we know we've got them, but I'm not married to it. Locally this looks like a pointlessly small perf win, but I'm mostly keen to get all the code together. BUG=skia: Review URL: https://codereview.chromium.org/1104183004
* Add SkTPin.Gravatar bungeman2015-04-16
| | | | | | | | Currently there exist SkScalarPin and SkPin32, and in a future change another version is desired. This change introduces SkTPin and changes SkScalarPin and SkPin32 to use it. Review URL: https://codereview.chromium.org/1090003002
* [SkTextBlob] Custom run font recordGravatar fmalita2015-04-09
| | | | | | | | | | | Instead of using a full-blown SkPaint to store run font info, use a custom structure. This saves 96 bytes / run on 64bit platforms. R=reed@google.com,mtklein@google.com,joshualitt@google.com Review URL: https://codereview.chromium.org/1070943002
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* Fix up all the easy virtual ... SK_OVERRIDE cases.Gravatar mtklein2015-01-09
| | | | | | | | | | | | This fixes every case where virtual and SK_OVERRIDE were on the same line, which should be the bulk of cases. We'll have to manually clean up the rest over time unless I level up in regexes. for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end BUG=skia: Review URL: https://codereview.chromium.org/806653007
* More win64 warning fixesGravatar bsalomon2014-12-12
| | | | Review URL: https://codereview.chromium.org/798723002
* Watch out for SkFixed overflow in SkMipMap.cpp.Gravatar mtklein2014-11-21
| | | | | | | | | | | Tested with -fsanitize=signed-integer-overflow. This new assert used to trigger in MipMap unit test. Don't appear to be any GM diffs. BUG=skia: Review URL: https://codereview.chromium.org/729373004
* Revert of Start to vectorize SkTileGrid. (patchset #48 id:1670001 of ↵Gravatar mtklein2014-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/634543004/) Reason for revert: breaks chrome GPU debug bots Original issue's description: > Start to vectorize SkTileGrid. > > This adds Sk4x.h to help. > > BUG=skia:3041 > > Committed: https://skia.googlesource.com/skia/+/90c7992bfc6330f070f7704d63372a0ec8410170 > > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot > > Committed: https://skia.googlesource.com/skia/+/958e9628d5f9a81aeafa78572cb4afc4b19a455a TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia:3041 Review URL: https://codereview.chromium.org/637863005
* Start to vectorize SkTileGrid.Gravatar mtklein2014-10-20
| | | | | | | | | | | | This adds Sk4x.h to help. BUG=skia: Committed: https://skia.googlesource.com/skia/+/90c7992bfc6330f070f7704d63372a0ec8410170 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot Review URL: https://codereview.chromium.org/634543004
* Revert of Start to vectorize SkTileGrid. (patchset #45 id:1430002 of ↵Gravatar mtklein2014-10-16
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/634543004/) Reason for revert: Many GCC bots missing __builtin_shuffle, e.g. Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot. Original issue's description: > Start to vectorize SkTileGrid. > > This adds Sk4x.h to help. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/90c7992bfc6330f070f7704d63372a0ec8410170 TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/663663002
* Start to vectorize SkTileGrid.Gravatar mtklein2014-10-16
| | | | | | | | This adds Sk4x.h to help. BUG=skia: Review URL: https://codereview.chromium.org/634543004
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Align all SkRecord::alloc() calls up to at least a pointer size.Gravatar mtklein2014-08-28
| | | | | | | | | | | This should make the LSAN bots able to see all our pointers. BUG=skia: R=reed@google.com, robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/517073002
* Ensure that SkDebugf is exported from the library.Gravatar george2014-08-01
| | | | | | | | | | | This was caused by the change to always call SkDebugf() in SkASSERT(). There are many headers in Skia that call SkASSERT and so we were seeing linking issues in Gecko where we were using Skia across DLL boundaries. R=reed@google.com, bsalomon@google.com, reed1 BUG=skia: Author: george@mozilla.com Review URL: https://codereview.chromium.org/438783002
* Revert "Revert of Use the GrCacheable ID to eliminate the need for ↵Gravatar bsalomon2014-07-22
| | | | | | | | | | | | | | notifications to GrGpuGL when textures and RTs are… (https://codereview.chromium.org/376703009/)" This reverts commit 249171e7d29b5559f3eefe9dbd437030bfad3fda. Uses 32 bit id instead of 64. Renamed instanceID to uniqueID to match existing code. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/414493002
* Add SkASSERTF.Gravatar mtklein2014-06-18
| | | | | | | | | | | | | | | | Example failure: fRefCnt was 3 ../../../usr/local/google/home/mtklein/skia/include/core/SkRefCnt.h:40: failed assertion "(fRefCnt == 1) || (SkDebugf("fRefCnt was %d""\n", fRefCnt), false)" Command terminated by signal 11 Not pretty, but everything's there. Perhaps we'll think of ways to make it nicer later. BUG=skia: R=bsalomon@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/337243004
* Rename SK_DEBUGBREAK to SK_ALWAYSBREAKGravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | | | 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
* Revert of Rename SK_DEBUGBREAK to SK_ALWAYSBREAK ↵Gravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | | | | | | | | | | | | | | (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
* Rename SK_DEBUGBREAK to SK_ALWAYSBREAKGravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | 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
* Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAILGravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | 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
* Revert of Add nanosecond timer. (https://codereview.chromium.org/250243002/)Gravatar commit-bot@chromium.org2014-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add nanosecond timer.Gravatar commit-bot@chromium.org2014-04-24
| | | | | | | | | | | | | 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
* SkNonCopyable should be used with private inheritance.Gravatar commit-bot@chromium.org2014-04-07
| | | | | | | | | | | | | | | This is mostly s/public SkNoncopyable/SkNoncopyable/g. Two classes (SkDrawLooper::Context and SkPicture::OperationList) don't actually work with SkNoncopyable because they introduce a virtual destructor. I added SkNoncopyableVirtual to make them work as intended. Sort of questionable whether they really need to be noncopyable in the first place, but I guess it doesn't hurt to keep the behavior the same. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/226183018 git-svn-id: http://skia.googlecode.com/svn/trunk@14081 2bbb7eff-a529-9590-31e7-b0007b416f81
* Convert SkPicture's generation ID to a unique IDGravatar commit-bot@chromium.org2014-04-07
| | | | | | | | | | | | This CL addresses linger code review comments on r14037 (Add generation ID to SkPicture https://codereview.chromium.org/222683002/) R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/225283014 git-svn-id: http://skia.googlecode.com/svn/trunk@14079 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-14
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13800 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow toString capability to be toggled independent of developer mode.Gravatar commit-bot@chromium.org2014-03-13
| | | | | | | | | | | | This change is motivated by the desire to see the text information in the debugger when not in developer mode. It is structured so user's can disable it if the capability is not wanted. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/197763008 git-svn-id: http://skia.googlecode.com/svn/trunk@13795 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add comment for gcc compiler bug work-around for SK_COMPILE_ASSERT.Gravatar bungeman@google.com2014-03-13
| | | | | | | | | | | If this comment had existed previously, I could have avoided breaking some bots. R=bsalomon@google.com Review URL: https://codereview.chromium.org/196473013 git-svn-id: http://skia.googlecode.com/svn/trunk@13793 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add required parens for r13779.Gravatar bungeman@google.com2014-03-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13781 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2.Gravatar bungeman@google.com2014-03-12
| | | | | | | | | | | | When ints are 32 bits, (1 << 31) is undefined. R=reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=13757 Review URL: https://codereview.chromium.org/189093020 git-svn-id: http://skia.googlecode.com/svn/trunk@13779 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add size_t bytesWritten() const to SkWStream.Gravatar commit-bot@chromium.org2014-03-06
| | | | | | | | | | | BUG=skia: R=reed@google.com, mtklein@google.com, robertphillips@google.com, bungeman@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/187653003 git-svn-id: http://skia.googlecode.com/svn/trunk@13684 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix more 64bit warningsGravatar reed@google.com2014-01-27
| | | | | | | | BUG=skia: Review URL: https://codereview.chromium.org/147683003 git-svn-id: http://skia.googlecode.com/svn/trunk@13190 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix (some) 64bit warnings -- size_t -> intGravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | BUG=skia: R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/147053003 git-svn-id: http://skia.googlecode.com/svn/trunk@13178 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove (now unused) Sk64 -- just use int64_tGravatar reed@google.com2014-01-10
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/134373006 git-svn-id: http://skia.googlecode.com/svn/trunk@13032 2bbb7eff-a529-9590-31e7-b0007b416f81