aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Add SkRacyGravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | SkRacy<T> is a zero-overhead wrapper for a T, except it also silences race warnings when TSAN is running. Here we apply in several classes. In SkMatrix and SkPathRef, we use it to opportunistically cache some idempotent work. In SkPixelRef, we wrap the genIDs. We think the worst that can happen here is we'll increment the global next-genID a few times instead of once when we go to get another ID. BUG=skia: Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7 CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/371363004
* manual bench rebase after d3f3e58, adjusted with ↵Gravatar bensong2014-07-08
| | | | | | | | | | | | | | a26bbb95a64c1507ba81d39b971f079f3f9c5646 R=borenet@google.com TBR=borenet@google.com Bypassing trybots: NOTRY=true Author: bensong@google.com Review URL: https://codereview.chromium.org/377093002
* bench rebase tool: add ability to specify a second CL for fluctuating data ↵Gravatar bensong2014-07-08
| | | | | | | | | | | | | adjustment. R=borenet@google.com TBR=borenet@google.com BUG=skia:2657 NOTRY=true Author: bensong@google.com Review URL: https://codereview.chromium.org/370413002
* Revert of Add SkRacy (https://codereview.chromium.org/371363004/)Gravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: hidden symbol 'AnnotateBenignRaceSized' in obj/base/third_party/dynamic_annotations/libdynamic_annotations.a(obj/base/third_party/dynamic_annotations/dynamic_annotations.dynamic_annotations.o) is referenced by DSO lib/libblink_platform.so Original issue's description: > Add SkRacy > > SkRacy<T> is a zero-overhead wrapper for a T, except it also > silences race warnings when TSAN is running. > > Here we apply in several classes. In SkMatrix and SkPathRef, > we use it to opportunistically cache some idempotent work. > > In SkPixelRef, we wrap the genIDs. We think the worst that > can happen here is we'll increment the global next-genID a > few times instead of once when we go to get another ID. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7 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/377693005
* Revert of Missing volatile in AnnotateBenignRaceSized declaration. ↵Gravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/380473002/) Reason for revert: sdf Original issue's description: > Missing volatile in AnnotateBenignRaceSized declaration. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/f7a180b R=mtklein@chromium.org TBR=mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/379623004
* Fixed up SkTimedPicturePlaybackGravatar robertphillips2014-07-08
| | | | | | | | | | This was more motivated to remove the preDraw and postDraw virtuals from SkPicturePlayback. R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/375943002
* Missing volatile in AnnotateBenignRaceSized declaration.Gravatar Mike Klein2014-07-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/380473002
* Add SkRacyGravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | SkRacy<T> is a zero-overhead wrapper for a T, except it also silences race warnings when TSAN is running. Here we apply in several classes. In SkMatrix and SkPathRef, we use it to opportunistically cache some idempotent work. In SkPixelRef, we wrap the genIDs. We think the worst that can happen here is we'll increment the global next-genID a few times instead of once when we go to get another ID. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/371363004
* Add missing / in android_gdbserverGravatar tomhudson2014-07-08
| | | | | | | | | | | | | Introduced in https://codereview.chromium.org/22617002, apparently worked just fine, at least on already-set-up devices. Failing at least since https://codereview.chromium.org/352303003/. BUG=skia:2729 R=djsollen@google.com, tomhudson@google.com Author: tomhudson@chromium.org Review URL: https://codereview.chromium.org/372273003
* Use BUILD_NATIVE_TEST instead of BUILD_EXECUTABLE.Gravatar scroggo2014-07-08
| | | | | | | | | | | | | | | | This will generate makefiles for our tools (bench, tests, gm, dm) using the line "include $(BUILD_NATIVE_TEST)". This has been recommended by the Android team, as it builds both 32 bit and 64 bit versions of the test. Do not use LOCAL_MODULE_PATH, which is deprecated (see https://docs.google.com/a/google.com/document/d/1uLAuY7_KYGx1TSzJ9SXkyevT8qNpra2ZoIBkmCoq8VM/edit# ). Corresponds to ag/498302 , which makes this change just for bench. R=djsollen@google.com, halcanary@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/369673002
* add setPreserveSrcDepth to replace PrefTable API for androidGravatar reed2014-07-08
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/371273007
* Use stack allocation for Android data in SkScalerContext::MakeRec().Gravatar jvanverth2014-07-08
| | | | | | | | | | | | | In a perfvis run on the "Boogie" test page, descriptorProc() during detachCache() was taking .721 ms, and 20% of that was the flatten() in MakeRec(). Changing this to a smaller stack allocation reduces the time for descriptorProc() to .556 ms. R=reed@google.com, bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/372323003
* Cleanup: Rename UnitTestTest.cpp to RTConfRegistryTest.cppGravatar tfarina2014-07-08
| | | | | | | | | | BUG=None TEST=make tests R=mtklein@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/374443002
* Fix param name in GrEffect::CastEffectGravatar bsalomon2014-07-08
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/376863006
* Back off from SkPicture API hardening a bitGravatar Robert Phillips2014-07-08
| | | | | | | | Sigh - Chromium still relies on the old clone functionality TBR=reed@google.com Review URL: https://codereview.chromium.org/371273006
* Goodbye GrEffectRef.Gravatar bsalomon2014-07-08
| | | | | | | | | | Also, reworked some var names and comments around SkShader::asNewEffect. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/374923002
* Adding validation before using an SkImageInfo object read from an SkReadBuffer.Gravatar sugoi2014-07-08
| | | | | | | | | BUG=389574 R=senorblanco@google.com, reed@google.com, senorblanco@chromium.org Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/376803004
* Clean up SkImageFilter constructors.Gravatar senorblanco2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that all creation of SkImageFilters goes through factory Create() methods, there's no real reason for the convenience constructors. Some SkImageFilter subclasses which actually have zero DAG-able inputs were passing NULL to the superclass constructor. This actually means 1 input, with a NULL value, not zero inputs. This becomes more relevant for the upcoming cache infrastructure, where this indicates that the filter will use its src input, where in fact some of these filters do not (they are image generators only). Limiting SkImageFilter to a single constructor resolves this ambiguity. Along the way, I removed all of the default parameters to the constructors, since the Create methods always call them with the full argument list. BUG=skia: R=reed@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/376953003
* Harden SkPicture interface a bitGravatar robertphillips2014-07-08
| | | | | | | | | | With the removal of SkTimedPicture we can now make more of SkPicture private. R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/377833007
* Split SkPictureRangePlayback out of SkPicturePlaybackGravatar robertphillips2014-07-08
| | | | | | | | | | | | | This CL starts cleaning up SkPicturePlayback. Future CLs will: split out the SkPictureReplacementPlayback remove the preDraw/postDraw entry points & fix up SkPictureTimedPlayback R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/374833006
* Remove GrEffect::CreateEffectRef and GrEffect::AutoEffectRef.Gravatar bsalomon2014-07-08
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/371103003
* Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.Gravatar bsalomon2014-07-08
| | | | | | | | | | | | | | Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef* Make GrEffectRef a typedef for GrEffect. Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/377503004
* Remove ability for Release code to call getRefCnt() or getWeakRefCnt().Gravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | These getRefCnt() methods are not thread safe, so Skia code should not be calling them. unique() is fine. SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt(). This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in both debug and release modes. BUG=skia:2726 R=senorblanco@chromium.org, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/378643003
* Clean up a bit after SkPictureData/SkPicturePlayback splitGravatar robertphillips2014-07-08
| | | | | | | | | | | | | This CL begins setting up the SkPicturePlayback split by simplifying the class and componentizing it a bit. It: fuses SkPictureData::OperationList into SkPicture::OperationList adds a handleOp method to SkPicturePlayback that can be reused by derived classes removes a couple debugging tools (ENABLE_TIME_DRAW & SPEW_CLIP_SKIPPING) R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/378703002
* make skia_launcher be a position independent executableGravatar Derek Sollenberger2014-07-08
| | | | | | R=tomhudson@google.com Review URL: https://codereview.chromium.org/374833003
* fix WBMP image will get null color table when draw in RGB565 CanvasGravatar Derek Sollenberger2014-07-08
| | | | | | | | | | | | | Symptom: draw Index8 to RGB565 will using SkColorTable::lock16BitCache and return a null array. Root Cause:lock16BitCache return null pointer because default type is kPremul_SkAlphaType Solution: WBMP color table should be kOpaque_SkAlphaType Reproduce steps: draw a WBMP with a matrix that apply rotate and transform This patch was proposed by arthur_hung at htc.com to the AOSP project. R=reed@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/377443007
* MIPS: added optimizations for functions from SkBitmapProcStateGravatar djordje.pesut2014-07-08
| | | | | | | | | | | | | | gain is ~30% following functions are optimized: SI8_D16_nofilter_DX SI8_opaque_D32_nofilter_DX R=djsollen@google.com, teodora.petrovic@gmail.com Author: djordje.pesut@imgtec.com Review URL: https://codereview.chromium.org/336533003
* Update SKP version to 45Gravatar borenet2014-07-07
| | | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Author: borenet@google.com Review URL: https://codereview.chromium.org/379523002
* Flesh out SkMatrix typemask suppressions.Gravatar mtklein2014-07-07
| | | | | | | | | BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/374763002
* Another suppression, this in SkMatrix caching the typemask.Gravatar mtklein2014-07-07
| | | | | | | | | BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/372103005
* Suppress race to cache SkPathRef bounds.Gravatar mtklein2014-07-07
| | | | | | | | | | | | This should be fixed naturally soon, and it's an innocuous race (some paths may have their bounds calculated more than once), so we can just quiet it for now. BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/376733003
* Turn on threaded DMQuiltTask drawing for old-format SkPictures too.Gravatar mtklein2014-07-07
| | | | | | | | | | | This required the same SkBitmap copying that we added today to SkRecord. BUG=skia: R=reed@android.com, robertphillips@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/375703002
* remove unneeded flag for androidGravatar reed2014-07-07
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/372133003
* Handle close button in SkOSWindow_Unix.Gravatar bungeman2014-07-07
| | | | | | | | | | | | Currently X with most Window managers calls 'exit' when the close button is used. This can cause issues as the Window is not properly destroyed. With this change we can handle this window message and properly exit. R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/377733002
* Suppress getRefCnt() calls from SkImageFilter.Gravatar mtklein2014-07-07
| | | | | | | | | BUG=skia:2726 R=jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/373863002
* Revert of Make GrDrawState and GrPaint take GrEffect* instead of ↵Gravatar reed2014-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | GrEffectRef*. (https://codereview.chromium.org/377503004/) Reason for revert: broke linux builders Original issue's description: > Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. > > Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef* > > Make GrEffectRef a typedef for GrEffect. > > Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8 R=robertphillips@google.com, bsalomon@google.com TBR=bsalomon@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: reed@google.com Review URL: https://codereview.chromium.org/372053003
* Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.Gravatar bsalomon2014-07-07
| | | | | | | | | | | | Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef* Make GrEffectRef a typedef for GrEffect. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/377503004
* YUV to RGB converterGravatar sugoi2014-07-07
| | | | | | | | | | | | | This is a first piece of the GPU YUV decoder, which is the actual effect that performs the conversion. For now, it simply applies the conversion matrix, since it is all I need. I may add modes if different matrices need to be applied or if I add color profile support here. I'll try to keep these cls short and easy to review, but there should be a few of them coming once this one is in. BUG=skia: R=senorblanco@chromium.org, senorblanco@google.com, reed@google.com, bsalomon@google.com Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/378503006
* guard registering mallocpixelref for chromeGravatar reed2014-07-07
| | | | | | | | | | | companion to https://codereview.chromium.org/320873003 NOTRY=True TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/373903002
* remove unneeded flags (have been purged from chrome and android)Gravatar reed2014-07-07
| | | | | | | | TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/372793003
* change pixelref to not inherit from SkFlattenableGravatar reed2014-07-07
| | | | | | | | | | If I can "inline" MallocPixelRef unflatten, then I think we can delete this code. The only caller today should be unflattening in the legacy path for bitmaps. R=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/320873003
* remove SK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUEGravatar reed2014-07-07
| | | | | | | | TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/373853002
* remove unneeded flags for androidGravatar reed2014-07-07
| | | | | | | | R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/369683004
* Split SkPicturePlayback out of SkPictureDataGravatar robertphillips2014-07-07
| | | | | | | | | | | | | | | | | | | This splits the playback functionality out of SkPictureData. The old SkPictureData::draw method is pulled out along with its supporting functions as verbatim as possible. Some follow on CLs will be required to: re-enable profiling in the debugger (and remove the vestiges of SkTimedPicture) re-enable display of command offsets in the picture (this should probably wait until we've switched to SkRecord though) Clean up CachedOperationList (maybe fuse with SkPicture::OperationList) Split SkPicturePlayback into a base class and two derived classes Implement parallel version of GatherGPUInfo for SkRecord Landing this is blocked on removing Android's use of the abortPlayback entry point. R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/377623002
* Suppress new TSAN warnings from DMQuiltTask.Gravatar mtklein2014-07-07
| | | | | | | | | | | | | | | | We're racing to invalidate the genID of our pixel ref when multiple threads write into it, and also to call its genID-changed listeners. We install no listeners on this particular pixel ref, nor do we ever care about its genID at all. So these are benign races, races on data we never make a decision from. BUG=skia:2725 R=jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/370353004
* Remove SK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK.Gravatar mtklein2014-07-07
| | | | | | | | | | | Skia no longer looks at this define. It's as if it's always set now. BUG=skia: R=scroggo@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/368953005
* don't look at SK_SCALAR_IS_FLOAT -- it is true, but no longer definedGravatar reed2014-07-07
| | | | | | | | TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/371033004
* Remove use of GrEffectRef from draw state and below.Gravatar bsalomon2014-07-07
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/372773002
* Add return to SkBoxBlurGetPlatformProcs_SSE4.Gravatar scroggo2014-07-07
| | | | | | | | | | This fixes Android build. R=reed@google.com, mtklein@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/378613002
* gpu and cpu flags for gm and bench.Gravatar bsalomon2014-07-07
| | | | | | | | | BUG=skia:2074 R=borenet@google.com, mtklein@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/376643002