aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Revert of Muck with the right cinfo. (patchset #2 id:20001 of ↵Gravatar bungeman2015-01-21
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/858333002/) Reason for revert: Appears to cause Android dm to segfault. Original issue's description: > Muck with the right cinfo. > > In SkImageDecoder_libjpeg, modify cinfo *after* destroying it and > creating a new one in its place. > > Should fix build breakage. > > Committed: https://skia.googlesource.com/skia/+/3629865bac20ae8092177f519594f79f89d09fb0 TBR=scroggo@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/858323003
* Muck with the right cinfo.Gravatar scroggo2015-01-21
| | | | | | | | | In SkImageDecoder_libjpeg, modify cinfo *after* destroying it and creating a new one in its place. Should fix build breakage. Review URL: https://codereview.chromium.org/858333002
* Move sync code to include/, switch from using platform define to a proxy ↵Gravatar mtklein2015-01-21
| | | | | | | | | | | | | | header in core/ This fixes two problems: 1) #include SK_SOME_DEFINE doesn't work well for all our clients. 2) Things in include/ are #including things in src/, which we don't like. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/862983002
* Use SkLazyPtr in SkPDFGraphicState.cppGravatar halcanary2015-01-21
| | | | | | | Motivation: currently we rely on mutexes for guarding static initialization. These mutexes will go away. Review URL: https://codereview.chromium.org/815223005
* And change SkAutoTUnref<const SkStream to SkAutoTDelete.Gravatar scroggo2015-01-21
| | | | | | | | | | Should have been included with https://codereview.chromium.org/860353005/ TBR=bungeman@google.com NOTRY=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/844193007
* Remove another caller of SkRef(SkStream)Gravatar scroggo2015-01-21
| | | | | | | | TBR=bungeman@google.com NOTRY=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/860353005
* Make SkStream *not* ref counted.Gravatar scroggo2015-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkStream is a stateful object, so it does not make sense for it to have multiple owners. Make SkStream inherit directly from SkNoncopyable. Update methods which previously called SkStream::ref() (e.g. SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(), which required the existing owners to call SkStream::unref()) to take ownership of their SkStream parameters and delete when done (including on failure). Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some cases this means heap allocating streams that were previously stack allocated. Respect ownership rules of SkTypeface::CreateFromStream() and SkImageDecoder::buildTileIndex(). Update the comments for exceptional methods which do not affect the ownership of their SkStream parameters (e.g. SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be explicit about ownership. Remove test_stream_life, which tested that buildTileIndex() behaved correctly when SkStream was a ref counted object. The test does not make sense now that it is not. In SkPDFStream, remove the SkMemoryStream member. Instead of using it, create a new SkMemoryStream to pass to fDataStream (which is now an SkAutoTDelete). Make other pdf rasterizers behave like SkPDFDocumentToBitmap. SkPDFDocumentToBitmap delete the SkStream, so do the same in the following pdf rasterizers: SkPopplerRasterizePDF SkNativeRasterizePDF SkNoRasterizePDF Requires a change to Android, which currently treats SkStreams as ref counted objects. Review URL: https://codereview.chromium.org/849103004
* Lcd request early check in SkFontHost_FreeType::onFilterRec.Gravatar bungeman2015-01-21
| | | | | | | If the user didn't request lcd, don't spend any time checking if the FT_Library supports it. Review URL: https://codereview.chromium.org/864903002
* remove drawtypeGravatar joshualitt2015-01-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/862933005
* Reduce overhead of SkFontHost_FreeType::onFilterRec.Gravatar bungeman2015-01-21
| | | | | | | | | The current code is using AutoFTAccess just to access the FT_Library. However, it does not need to resolve the FT_Face, just the FT_Library. This unecessary overhead and is removed by this change. The longer term solution is for SkFontMgr to initialize FreeType. Review URL: https://codereview.chromium.org/835583003
* remove drawType from optStateGravatar joshualitt2015-01-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/864853002
* SkPDFCanonGravatar halcanary2015-01-21
| | | | | | | | | | | | | | | | | SkPDFCanon's fields and methods will eventually become part of SkPDFDocument/SkDocument_PDF. For now, it exists as a singleton to preflight that transition. This replaces three global arrays in SkPDFFont, SkPDFShader, and SkPDFGraphicsContext. This code is still thread-unsafe (http://skbug.com/2683), but moving this functionality into SkPDFDocument will fix that. This CL does not change pdf output from either GMs or SKPs. This change also simplifies some code around the SkPDFCanon methods. BUG=skia:2683 Review URL: https://codereview.chromium.org/842253003
* remove dead SkPersp macrosGravatar reed2015-01-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/864713002
* Add perspective divide when we're mapping down to a 2D varyingGravatar robertphillips2015-01-20
| | | | | | | | This fixes a few of the perspective errors in SampleApp but not all. BUG=skia:3326 Review URL: https://codereview.chromium.org/861553008
* Pre-cache fDirection and fConvexity for recorded SkPaths too.Gravatar mtklein2015-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN/builds/1211/steps/dm/logs/stdio I don't see any big perf hit locally: desk_googlespreadsheetdashed.skp 1.68ms -> 1.74ms 1.04x desk_mobilenews.skp 643us -> 665us 1.04x desk_tigersvg.skp 51.1us -> 52.5us 1.03x desk_jsfiddlehumperclip.skp 37us -> 37.9us 1.02x desk_samoasvg.skp 373us -> 380us 1.02x desk_wordpress.skp 697us -> 708us 1.02x desk_mapsvg.skp 698us -> 708us 1.02x tabl_googleblog.skp 553us -> 560us 1.01x desk_wowwiki.skp 1.31ms -> 1.32ms 1.01x tabl_mozilla.skp 1.44ms -> 1.45ms 1.01x desk_sfgate.skp 156us -> 157us 1.01x desk_chalkboard.skp 376us -> 378us 1x desk_baidu.skp 101us -> 101us 1x desk_gmailthread.skp 231us -> 231us 1x desk_carsvg.skp 379us -> 379us 1x desk_googlehome.skp 38.1us -> 38.1us 1x desk_css3gradients.skp 89.6us -> 89.2us 1x desk_googlespreadsheet.skp 549us -> 546us 0.99x desk_pokemonwiki.skp 8.67ms -> 8.62ms 0.99x tabl_mlb.skp 294us -> 291us 0.99x tabl_gamedeksiam.skp 700us -> 692us 0.99x tabl_worldjournal.skp 143us -> 142us 0.99x desk_blogger.skp 441us -> 436us 0.99x desk_twitter.skp 452us -> 446us 0.99x desk_gws.skp 152us -> 150us 0.99x tabl_gmail.skp 24.2us -> 23.9us 0.99x tabl_sahadan.skp 84.7us -> 83.5us 0.99x tabl_cnn.skp 1.24ms -> 1.22ms 0.99x tabl_ukwsj.skp 543us -> 535us 0.99x desk_yahooanswers.skp 124us -> 123us 0.99x desk_booking.skp 905us -> 891us 0.98x tabl_androidpolice.skp 1.76ms -> 1.73ms 0.98x desk_ugamsolutions.skp 281us -> 276us 0.98x desk_nytimes.skp 209us -> 204us 0.98x tabl_techmeme.skp 98.4us -> 96.1us 0.98x tabl_nofolo.skp 59.2us -> 57.8us 0.98x desk_weather.skp 244us -> 238us 0.98x desk_facebook.skp 546us -> 531us 0.97x desk_linkedin.skp 321us -> 311us 0.97x tabl_digg.skp 801us -> 770us 0.96x tabl_culturalsolutions.skp 332us -> 319us 0.96x desk_amazon.skp 103us -> 99us 0.96x tabl_engadget.skp 610us -> 579us 0.95x tabl_cnet.skp 144us -> 136us 0.95x desk_fontwipe.skp 36.6us -> 34.7us 0.95x desk_ebay.skp 173us -> 164us 0.94x tabl_hsfi.skp 5.95us -> 5.58us 0.94x tabl_deviantart.skp 134us -> 126us 0.94x desk_espn.skp 261us -> 243us 0.93x BUG=skia: Review URL: https://codereview.chromium.org/861853002
* Upstream support for giflib >= 5.1.Gravatar mtklein2015-01-20
| | | | | | | | | | | | | | DGifCloseFile now takes two arugments. The second argument appears to be an optional out-param with more information on failures. ( c.f. http://giflib.sourceforge.net/gif_lib.html ) PS 1 is the original patch we received from google3. I've updated it a bit to be pedantically legal C++98. BUG=skia: Review URL: https://codereview.chromium.org/860853003
* Move SkFontMgr and SkFontStyle impls to own cpp.Gravatar bungeman2015-01-20
| | | | | | | | | SkFontMgr and SkFontStyle implementations are currently burried in the old SkFontHost.cpp file. Move these implementations to their own file so that the implementations are easier to find, and to make clearer that SkFontHost.cpp needs to be removed. Review URL: https://codereview.chromium.org/799533004
* Do more cleanup from xp changesGravatar egdaniel2015-01-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/811903004
* BUG=skia:Gravatar joshualitt2015-01-20
| | | | Review URL: https://codereview.chromium.org/815643005
* remove dead code after HQ changeGravatar reed2015-01-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/845303005
* remove legacy flags for old image filteringGravatar reed2015-01-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/857193003
* Remove willReadDst from GrFragmentProcessor.Gravatar egdaniel2015-01-20
| | | | | | | | | | Since only XP's can read dst now, there is no reason to have this query on GrFP. This also triggered a chain reaction of cleaning up/removing unnecessary code elsewhere. BUG=skia: Review URL: https://codereview.chromium.org/851143003
* Revert of remove unused SkAvoidXfermode (patchset #2 id:20001 of ↵Gravatar scroggo2015-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/860583002/) Reason for revert: Breaking Android framework build, which still uses AvoidXfermode. (failure shown here: https://android-build.storage.googleapis.com/builds/git_master-skia-linux-razor-userdebug/1689202/565b76b4bd8cc2ffd5aeb37e524f6a35e9b8791995d6e8c719a3a6d83aece936/logs/build_error.log?Signature=lHYyiconR%2BoTzY9ILAKlaUm6nFnpJQPTI4XUei1ZccBRyz6PxspCNvYCDO5za92yZSoy9refHT7uh2Hxlxew1ZBePxKCp2nnwJB7a%2B403kiHMHHawjecsbPnTE9QNNO8XMoqAjujcAplorhwsIBZYOCxb%2Bo5010BCfzTd%2F8GFa8%3D&Expires=1421764644&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com) Here is the Java class that uses it: https://cs.corp.google.com/#android/frameworks/base/graphics/java/android/graphics/AvoidXfermode.java&sq=package:android It has been deprecated. The glue code (which actually references the Skia file) is here: https://cs.corp.google.com/#android/frameworks/base/core/jni/android/graphics/Xfermode.cpp&q=Xfermode.cpp&sq=package:android Mike suggested we move the implementation into Android, which is fine with me. Original issue's description: > remove unused SkAvoidXfermode > > BUG=skia: > TBR= > NOTRY=True > > Committed: https://skia.googlesource.com/skia/+/2d02df7a9a50217dac8c1d11681832a927ed79ce TBR=bsalomon@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/822953003
* Remove a few unused statements.Gravatar cwallez2015-01-19
| | | | | | BUG= Review URL: https://codereview.chromium.org/837643003
* Broken dm fixGravatar sugoi2015-01-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/855953005
* YUV planes cacheGravatar sugoi2015-01-19
| | | | | | | | | | - Added new classes to contain YUV planes of memory, along with the associated data. - Used these classes in load_yuv_texture() to enable YUV planes caching - Added a unit test for the new cache BUG=450021 Review URL: https://codereview.chromium.org/851273003
* remove unused SkAvoidXfermodeGravatar reed2015-01-18
| | | | | | | | BUG=skia: TBR= NOTRY=True Review URL: https://codereview.chromium.org/860583002
* Refactor position computation to enable device space "nudge"Gravatar robertphillips2015-01-18
| | | | | | | | | To match raster's handling of BW geometry we want to be able to perform a device space "nudge" on all geometry. This CL sets us up to be able to do that in GrGLVertexBuilder::transformToNormalizedDeviceSpace. BUG=423834 TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/854013002
* reorg filter quality cascadeGravatar reed2015-01-16
| | | | | | | BUG=skia: NOTREECHECKS=True Review URL: https://codereview.chromium.org/844913004
* use log2(scale) to compute mip levelGravatar reed2015-01-16
| | | | | | | | | | | | | now w/ expanded suppressions This reverts commit b50ced703030dfbda4fc3ef5e6ec9a52fc0405f8. BUG=skia: TBR= NOTRY=True NOTREECHECKS=True Review URL: https://codereview.chromium.org/856723003
* Require budget decision when creating a RenderTarget SkSurface.Gravatar bsalomon2015-01-16
| | | | | | | | | Restructure SkGpuDevice creation: *SkSurfaceProps are optional. *Use SkSurfaceProps to communicate DF text rather than a flag. *Tell SkGpuDevice::Create whether RT comes from cache or not. Review URL: https://codereview.chromium.org/848903004
* Revert of use log2(scale) to compute mip level (patchset #7 id:120001 of ↵Gravatar reed2015-01-16
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/849333002/) Reason for revert: need more suppressions Original issue's description: > use log2(scale) to compute mip level > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/15fd47f8a07615a7f5d78581aee4c80ff9f17fd9 TBR=robertphillips@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/856783004
* use log2(scale) to compute mip levelGravatar reed2015-01-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/849333002
* new files for pathops geometric intersectionGravatar caryclark2015-01-16
| | | | | | | | | | There's no gyp references to these new files, so this should only have the effect of reducing the size of the commit that turns this code on. TBR= Review URL: https://codereview.chromium.org/853223002
* Add Xfer Processor for GrCustomXfermodesGravatar egdaniel2015-01-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/852203003
* Fold alpha to the draw in savelayer-draw-restore patterns with non-opaque drawGravatar kkinnunen2015-01-16
| | | | | | | | | | | | | | | | Fold alpha of a save layer call to the subsequent draw call paint, even when the draw call paint color is already non-opaque. Comparing the difference of the unoptimized and the optimized call pattern with all (layer alpha, draw alpha) combinations, this produces off-by-one pixels ~50% of the time. Reduces layers of current desk_carsvg.skp (recorded with cross-process picture image filters allowed) from 122 to 115. BUG=skia:3119 Review URL: https://codereview.chromium.org/840483005
* Revert "choose better mip level"Gravatar reed2015-01-15
| | | | | | | | | | This reverts commit 09544fcf9611be6efc0c38ab9d9a3f82181341fb. BUG=skia: TBR= NOTREECHECKS=True Review URL: https://codereview.chromium.org/849173003
* Move XferEffects class to GrCustomXfermode fileGravatar egdaniel2015-01-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/844913003
* SkPictureShader should handle negative scaling gracefully.Gravatar fmalita2015-01-15
| | | | | | | | | Let's not choke on inverted tiles. BUG=chromium:447707 R=robertphillips@google.com,reed@google.com Review URL: https://codereview.chromium.org/852213002
* Why are we afraid of saveLayer() bounds?Gravatar mtklein2015-01-15
| | | | | | | | | They're only hints. We can ignore them in this optimization. My only hesitation is that this pattern doesn't seem to happen in our .skps. BUG=skia: Review URL: https://codereview.chromium.org/849243002
* choose better mip levelGravatar reed2015-01-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/845793005
* Add include before SK_SUPPORT_GPU in SkArithmeticMode_gpu.h to fix android buildGravatar egdaniel2015-01-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/852193002
* Use device-space stroke width for SkDraw::drawRect() quick-rejectGravatar fmalita2015-01-15
| | | | | | | | | | The stroke width needs to be CTM-adjusted when applied to device space rects. BUG=skia:3313 R=reed@google.com Review URL: https://codereview.chromium.org/801353008
* fMaxTexCoords is unused in Release buildsGravatar mtklein2015-01-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/853643005
* possible bug fix for nvprGravatar joshualitt2015-01-14
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/850953003
* Add Arithmetic mode xp.Gravatar egdaniel2015-01-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/837633005
* separate out the scaline-choosing to simplify chooseProcsGravatar reed2015-01-14
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/796063007
* Move Gpu ArithmeticMode xfer effect to _gpu files.Gravatar egdaniel2015-01-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/827163004
* Make uncached textures uncached from the get go.Gravatar bsalomon2015-01-14
| | | | | | | | This avoids the problem of a newly created uncached texture causing a purge of cached resources. BUG=chromium:445885 Review URL: https://codereview.chromium.org/846303002
* More changes to bring together path / geo procsGravatar joshualitt2015-01-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/820783005