1. 17 Jan, 2014 1 commit
    • Derek Sollenberger's avatar
      Merge Skia r12682 into Android. · f397b21b
      Derek Sollenberger authored
      Conflicts:
      	include/core/SkDraw.h
      	include/pdf/SkPDFDevice.h
      	include/utils/SkCanvasStateUtils.h
      	include/utils/SkFrontBufferedStream.h
      	src/core/SkDevice.cpp
      	src/core/SkDeviceLooper.cpp
      	src/core/SkDeviceLooper.h
      	src/core/SkRRect.cpp
      	src/doc/SkDocument_PDF.cpp
      	src/effects/SkBlurMaskFilter.cpp
      	src/fonts/SkFontMgr_fontconfig.cpp
      	src/gpu/GrAAHairLinePathRenderer.cpp
      	src/gpu/GrAAHairLinePathRenderer.h
      	src/gpu/GrTextContext.cpp
      	src/images/SkImageDecoder_libpng.cpp
      	src/images/SkScaledBitmapSampler.cpp
      	src/images/SkScaledBitmapSampler.h
      	src/pdf/SkPDFDevice.cpp
      	src/pdf/SkPDFDeviceFlattener.cpp
      	src/ports/SkFontConfigInterface_android.cpp
      	src/ports/SkFontHost_FreeType.cpp
      	src/ports/SkFontHost_FreeType_common.cpp
      	src/utils/SkCanvasStack.cpp
      	src/utils/SkCanvasStack.h
      	src/utils/SkCanvasStateUtils.cpp
      	src/utils/SkDeferredCanvas.cpp
      	src/utils/SkFrontBufferedStream.cpp
      	src/utils/SkPictureUtils.cpp
      
      Change-Id: Ice86d9769ed99f804932d8839acfdea695cb6d28
      f397b21b
  2. 16 Jan, 2014 1 commit
  3. 13 Nov, 2013 1 commit
  4. 12 Nov, 2013 1 commit
    • Leon Scroggins III's avatar
      Override drawRRect in fake SkBitmapDevices. · 02cbf104
      Leon Scroggins III authored
      Recent changes to SkBitmapDevice modified ::drawRRect() to take
      an optimized drawing case. Some subclasses of SkBitmapDevice were
      depending on the old behavior of calling ::drawPath(). Since they
      do not draw, attempting to take the drawing path can cause problems.
      For these subclasses, call drawPath() in the subclass.
      
      Cherry-pick of https://code.google.com/p/skia/source/detail?r=12247 in Skia.
      
      BUG:11648093
      Change-Id: Ie2173907c58c36b28855aba5a71b7ad676cc543e
      02cbf104
  5. 11 Nov, 2013 1 commit
    • Leon Scroggins III's avatar
      Fix a memory leak in filterRRectToNine. · f331039b
      Leon Scroggins III authored
      Cherry-pick of Skia from https://codereview.chromium.org/65723005/
      
      Found by our valgrind bot:
      
      63,808 bytes in 126 blocks are definitely lost in loss record 76 of 76
      at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      by 0x52C126: sk_malloc_flags(unsigned long, unsigned int) (SkMemory_malloc.cpp:45)
      by 0x52C157: sk_malloc_throw(unsigned long) (SkMemory_malloc.cpp:31)
      by 0x42A9B2: SkMask::AllocImage(unsigned long) (SkMask.cpp:40)
      by 0x5BD349: prepare_to_draw_into_mask(SkRect const&, SkMask*) (SkBlurMaskFilter.cpp:170)
      by 0x5BEDC6: SkBlurMaskFilterImpl::filterRRectToNine(SkRRect const&, SkMatrix const&, SkIRect const&, SkMaskFilter::NinePatch*) const (SkBlurMaskFilter.cpp:181)
      by 0x42B604: SkMaskFilter::filterRRect(SkRRect const&, SkMatrix const&, SkRasterClip const&, SkBounder*, SkBlitter*, SkPaint::Style) const (SkMaskFilter.cpp:218)
      by 0x42460E: SkDraw::drawRRect(SkRRect const&, SkPaint const&) const (SkDraw.cpp:1056)
      by 0x413F9C: SkBitmapDevice::drawRRect(SkDraw const&, SkRRect const&, SkPaint const&) (SkBitmapDevice.cpp:235)
      by 0x419D31: SkCanvas::drawRRect(SkRRect const&, SkPaint const&) (SkCanvas.cpp:1695)
      by 0x43F865: SkPicturePlayback::draw(SkCanvas&, SkDrawPictureCallback*) (SkPicturePlayback.cpp:1001)
      by 0x43BC1A: SkPicture::draw(SkCanvas*, SkDrawPictureCallback*) (SkPicture.cpp:261)
      by 0x407D42: void sk_tools::DrawTileToCanvas<SkPicture>(SkCanvas*, SkRect const&, SkPicture*) (PictureRenderer.cpp:502)
      by 0x4080BA: sk_tools::TiledPictureRenderer::render(SkString const*, SkBitmap**) (PictureRenderer.cpp:546)
      by 0x4064EF: render_picture(SkString const&, SkString const*, sk_tools::PictureRenderer&, SkBitmap**) (render_pictures_main.cpp:193)
      by 0x406637: render_picture(SkString const&, SkString const*, sk_tools::PictureRenderer&) (render_pictures_main.cpp:251)
      by 0x406F50: tool_main(int, char**) (render_pictures_main.cpp:360)
      by 0x407142: main (render_pictures_main.cpp:455)
      
      BUG:11630753
      Change-Id: Ie7792111449da3126a5e9e273e79bbb36481349c
      f331039b
  6. 06 Nov, 2013 1 commit
    • Leon Scroggins III's avatar
      Use nine patch drawing for blurry round rectangles · 4db85b50
      Leon Scroggins III authored
      Cherry pick of https://codereview.chromium.org/52703003/ in Skia.
      
      Add SkRRect::transform.
      
      Much like SkPath::transform, it transforms an SkRRect based on an
      SkMatrix. Unlike SkPath::transform, it will fail for matrices that
      contain perspective or skewing.
      
      Cherry pick of https://codereview.chromium.org/48623006/ in Skia.
      
      Add ability to ninepatch blurred rounded rectangle
      
      Speed up drawing large blurry round rectangles by converting them to
      nine patches.
      
      SkDraw:
      Add drawRRect.
      
      SkBitmapDevice:
      Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.
      
      SkMaskFilter/SkBlurMaskFilter:
      Create a nine patch of a blurred round rect and draw it instead of
      drawing the entire thing.
      
      SkPDFDevice:
      Override drawRRect to perform the old behavior in
      SkBitmapDevice::drawRect.
      
      BUG:11174385
      Change-Id: I96e6bf50c1418f7df70681afee6e25be40615497
      4db85b50
  7. 01 Nov, 2013 1 commit
  8. 25 Oct, 2013 1 commit
  9. 17 Oct, 2013 1 commit
  10. 15 Oct, 2013 1 commit
  11. 14 Oct, 2013 1 commit
  12. 09 Oct, 2013 1 commit
  13. 08 Oct, 2013 6 commits
  14. 03 Oct, 2013 2 commits
  15. 02 Oct, 2013 1 commit
  16. 30 Sep, 2013 1 commit
  17. 24 Sep, 2013 1 commit
  18. 23 Sep, 2013 1 commit
  19. 22 Sep, 2013 1 commit
  20. 20 Sep, 2013 2 commits
  21. 19 Sep, 2013 9 commits
    • Leon Scroggins III's avatar
    • Leon Scroggins III's avatar
      Add an option on SkImageDecoder to skip writing 0s. · 34835907
      Leon Scroggins III authored
      Only implemented for PNG.
      
      Add a getter and setter, and sets the default to false in the
      constructor. Also copies the setting in copyFieldsToOther.
      
      Fix an indpendent bug where fDitherImage was not being copied in
      copyFieldsToOther.
      
      In SkScaledBitmapSampler::begin, consolidate the settings passed in
      by passing a const reference to the decoder. The decoder can be
      referenced for its settings of dither, unpremultiplied, and now
      skipping writing zeroes. Update callers to use the new API. In png
      decoder, rather than passing around a pointer to an initial
      read of getDitherImage, and potentially changing it, look at the
      field on the decoder itself, and modify it directly. This is a
      change in behavior - now if that same decoder is used to decode
      a different image, the dither setting has changed. I think this is
      okay because A) the typical use case is to use a new decoder for
      each decode, B) we do not make any promises that a decode does not
      change the decoder and C) it makes the code in SkScaledBitmapSampler
      much cleaner.
      
      In SkScaledBitmapScampler, add new row procs for skipping zeroes. Now
      that choosing the row proc has five dimensions (src config, dst config,
      dither, skip writing zeroes, unpremultiplied), use a new method: each
      src/dst combination has a function for choosing the right proc depending
      on the decoder.
      
      SkScaledBitmapScampler::RowProc is now public for convenience.
      
      Remove Sample_Gray_D8888_Unpremul, which is effectively no different
      from Sample_Gray_D8888.
      
      In cases where unpremultiplied was trivial, such as 565 and when
      sampling from gray, decoding may now succeed.
      
      Add a benchmark (currently disabled) for comparing the speed of skipping
      writing zeroes versus not skipping. For this particular image, which is
      mostly transparent pixels, normal decoding took about 3.6 milliseconds,
      while skipping zeroes in the decode took only about 2.5 milliseconds
      (this is on a Nexus 4). Presumably it would be slower on an image
      with a small amount of transparency, but there will be no slowdown
      for an image which reports that it has no transparency.
      
      In SkImageRef_ashmem, always skip writing zeroes, since ashmem
      memory is guaranteed to be initialized to 0.
      
      Add a flag to skip writing zeroes in skimage.
      
      Add a regression test for choosing the rowproc to ensure I did not
      change any behavior accidentally.
      
      BUG:10016979
      Change-Id: I5986ae750b85a9c9d8e3cafeebe904910247de3b
      34835907
    • Derek Sollenberger's avatar
    • Derek Sollenberger's avatar
    • Derek Sollenberger's avatar
    • Derek Sollenberger's avatar
      Update Skia defines to be more in line with those used in chromium m30 · f4ad2a30
      Derek Sollenberger authored
      bug:10221459
      Change-Id: I89a5e7ee3966a3f548471d5b64e3b969b3a3e2d8
      f4ad2a30
    • Derek Sollenberger's avatar
      Merge skia changes from the skia chrome/m30_1599 branch. · 3d128a58
      Derek Sollenberger authored
      This captures revisions r11183 to r11196 (inclusive). However, some
      Canvas changes have already been cherry-picked so they will not show
      up in this CL.
      
      bug: 10285384
      
      Change-Id: I2b22937d68f18b40bb3914bd94142ed21f8ae4c0
      3d128a58
    • The Android Automerger's avatar
    • Derek Sollenberger's avatar
      Update Skia to use sftnly for character subsetting support for PDF · 29c49123
      Derek Sollenberger authored
      bug: 10314402
      Change-Id: I31ed88fd072f0dbb23f20f383d410d55f7bcd202
      29c49123
  22. 18 Sep, 2013 4 commits