platform/upstream/libSkiaSharp.git
9 years agoRevert of Stop using SkScalerContext::getAdvance() in SkGlyphCache. (patchset #2...
mtklein [Tue, 6 Oct 2015 14:00:45 +0000 (07:00 -0700)]
Revert of Stop using SkScalerContext::getAdvance() in SkGlyphCache. (patchset #2 id:20001 of https://codereview.chromium.org/1321243004/ )

Reason for revert:
Suspect this is the cause of regressions in crbug.com/527445.  It's triggering on Windows and Linux, where getting advances does less than getting full metrics.  It's not triggering on Mac, where this CL was a no-op.

Original issue's description:
> Stop using SkScalerContext::getAdvance() in SkGlyphCache.
>
> We think it'll simplify things to just always get the full metrics.
> On most platforms, it's no different, and we think the platforms that
> do differ (FreeType) will be nearly just as cheap.
>
> Removing this distinction helps us make SkGlyphCaches concurrent by
> removing a state (we-have-only-advances) from its logical state machine.
>
> We see no significant changes running SKPs before and after this CL.
> That makes sense, of course, because the SKPs bake some of this into drawPosText.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/518a2923f11b819fa44ed5cff54155326959540f

TBR=reed@google.com,bungeman@google.com,herb@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1383403003

9 years agoMake path range loading explicit
cdalton [Mon, 5 Oct 2015 22:56:34 +0000 (15:56 -0700)]
Make path range loading explicit

Requires the caller to explicitly preload paths within a range before
calling drawPaths. This allows us to remove the implicit lazy load,
thereby eliminating a redundant check on every redraw of a text blob.

BUG=skia:

Review URL: https://codereview.chromium.org/1382013002

9 years agoImplement cached nvpr text blobs
cdalton [Mon, 5 Oct 2015 22:37:35 +0000 (15:37 -0700)]
Implement cached nvpr text blobs

BUG=skia:

Review URL: https://codereview.chromium.org/1381073002

9 years agoUse SkTextBlob for nvpr color bitmap fallbacks
cdalton [Mon, 5 Oct 2015 22:28:20 +0000 (15:28 -0700)]
Use SkTextBlob for nvpr color bitmap fallbacks

BUG=skia:

Review URL: https://codereview.chromium.org/1381873003

9 years agoAdd TextRun object to nvpr text
cdalton [Mon, 5 Oct 2015 21:57:20 +0000 (14:57 -0700)]
Add TextRun object to nvpr text

Adds a TextRun object that defines a resolution-independent, paint-
indepent draw for a string of nvpr text.

BUG=skia:

Review URL: https://codereview.chromium.org/1375353004

9 years agoSkScaledCodec should implement onRewind()
msarett [Mon, 5 Oct 2015 21:20:27 +0000 (14:20 -0700)]
SkScaledCodec should implement onRewind()

This is a bug fix.  I'm also adding a test.

BUG=skia:

Review URL: https://codereview.chromium.org/1385703002

9 years agoCleanup timing state machine
joshualitt [Mon, 5 Oct 2015 20:58:26 +0000 (13:58 -0700)]
Cleanup timing state machine

BUG=skia:

Review URL: https://codereview.chromium.org/1386933002

9 years agoAdd more .h files to the .gypi
herb [Mon, 5 Oct 2015 20:28:59 +0000 (13:28 -0700)]
Add more .h files to the .gypi

BUG=skia:

Review URL: https://codereview.chromium.org/1386963002

9 years agomove visual bench interactive module to timing state machine
joshualitt [Mon, 5 Oct 2015 20:24:55 +0000 (13:24 -0700)]
move visual bench interactive module to timing state machine

BUG=skia:

Review URL: https://codereview.chromium.org/1382883003

9 years agoValidate text blob runs after SkTextBlob construction.
fmalita [Mon, 5 Oct 2015 18:09:57 +0000 (11:09 -0700)]
Validate text blob runs after SkTextBlob construction.

This avoids tripping CFI when casting uninitialized SkTextBlob ptrs.

BUG=chromium:538754
R=bungeman@google.com,reed@google.com,krasin@google.com

Review URL: https://codereview.chromium.org/1388543005

9 years agoAdd ship sample
jvanverth [Mon, 5 Oct 2015 18:05:07 +0000 (11:05 -0700)]
Add ship sample

BUG=skia:

Review URL: https://codereview.chromium.org/1359033005

9 years agoSpecify bench_type & source_type for image benches
scroggo [Mon, 5 Oct 2015 18:03:34 +0000 (11:03 -0700)]
Specify bench_type & source_type for image benches

This will allow us to use perf filtering for comparing SkImageDecoder
to SkCodec.

BUG=skia:3418

Review URL: https://codereview.chromium.org/1387863002

9 years agoPass --images '' to nanobench to disable image benchmarking.
mtklein [Mon, 5 Oct 2015 17:24:59 +0000 (10:24 -0700)]
Pass --images '' to nanobench to disable image benchmarking.

Enabling image benchmarking has caused most nanobench runs to fail,
both Debug and Release.

BUG=skia:3418
NOTREECHECKS=true
TBR=scroggo@google.com

Review URL: https://codereview.chromium.org/1381703003

9 years agoFix gpu dashing for case where all intervals are 0.
egdaniel [Mon, 5 Oct 2015 15:11:49 +0000 (08:11 -0700)]
Fix gpu dashing for case where all intervals are 0.

BUG=skia:4409

Review URL: https://codereview.chromium.org/1381803005

9 years agoForce cache SkTestScalerContext path bounds.
mtklein [Mon, 5 Oct 2015 14:29:22 +0000 (07:29 -0700)]
Force cache SkTestScalerContext path bounds.

Looks like a race on this:

http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN/builds/2608/steps/dm/logs/stdio

BUG=skia:

Review URL: https://codereview.chromium.org/1373363007

9 years agoFactor out VisualBench timing code into a helper class
joshualitt [Mon, 5 Oct 2015 14:23:30 +0000 (07:23 -0700)]
Factor out VisualBench timing code into a helper class

BUG=skia:

Review URL: https://codereview.chromium.org/1375363003

9 years agoRevert of Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor...
robertphillips [Sun, 4 Oct 2015 19:21:33 +0000 (12:21 -0700)]
Revert of Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor) (patchset #2 id:20001 of https://codereview.chromium.org/1378023004/ )

Reason for revert:
Trial run confirmed layout test expectations - will reland after suppressions

Original issue's description:
> Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)
>
> Committed: https://skia.googlesource.com/skia/+/2d70bcccc9ba8f3898a7ae506ba7410ed8e9c9db
>
> Committed: https://skia.googlesource.com/skia/+/5175b9563055926b4969d57f06e4ae49b86e055b

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1378813004

9 years agoSkImage doesn't use props, so don't need to store it
reed [Sun, 4 Oct 2015 18:28:36 +0000 (11:28 -0700)]
SkImage doesn't use props, so don't need to store it

BUG=skia:
TBR=bsalomon

Review URL: https://codereview.chromium.org/1372153006

9 years agoFix memory leak in ClipMaskManager
robertphillips [Sun, 4 Oct 2015 15:40:31 +0000 (08:40 -0700)]
Fix memory leak in ClipMaskManager

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1385823002

9 years agoHave GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)
robertphillips [Sun, 4 Oct 2015 15:36:51 +0000 (08:36 -0700)]
Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)

Committed: https://skia.googlesource.com/skia/+/2d70bcccc9ba8f3898a7ae506ba7410ed8e9c9db

Review URL: https://codereview.chromium.org/1378023004

9 years agoUpdate SKP version
update-skps [Sun, 4 Oct 2015 07:22:10 +0000 (00:22 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1390433002

9 years agoSimplify nvpr text
cdalton [Sat, 3 Oct 2015 20:28:35 +0000 (13:28 -0700)]
Simplify nvpr text

- Drops device-space glyphs in favor of perf/simplicity.

- Removes residual complexities that would flip glyphs vertically for
  compatibility with nvpr glyph loading, which is no longer used.

- Drops hairline support since they required new paths for every draw
  matrix, and could only be supported under certain circumstances.

- Quits checking for color bitmap fonts in canDrawText since the
  normal color emoji fallback will handle them anyway.

BUG=skia:

Review URL: https://codereview.chromium.org/1380973002

9 years agoStop calling jpeg_finish_decompress()
msarett [Fri, 2 Oct 2015 20:44:12 +0000 (13:44 -0700)]
Stop calling jpeg_finish_decompress()

jpeg_finish_decompress() does several things:
(1) Reads to the end of the image stream.
(2) Calls term_src(), a client provided function that
indicates we are done with the memory stream.  Our current
implementation of term_src() does nothing.
(3) Calls jpeg_abort() which aborts the decode and cleans
up some memory.

I don't think we need to call this anymore.

(1) seems irrelevant.

It seems a little dangerous to get rid of (2), but it is
fine while our implementation of term_src() does nothing.

(3) We will call jpeg_destroy() on destruction of the
JpegDecoderManager.  This should free all the memory,
making it unnecessary to call jpeg_abort() beforehand.

BUG=skia:4040

Review URL: https://codereview.chromium.org/1370323004

9 years agoMove all knowledge of X sampling into SkScaledCodec
scroggo [Fri, 2 Oct 2015 20:14:46 +0000 (13:14 -0700)]
Move all knowledge of X sampling into SkScaledCodec

Prior to this CL, each SkCodec subclass that allows sampling does an
extra check in onStartScanlineDecode to determine whether the X dimension
is supported for sampling. Remove this check, and provide a way for
SkScaledCodec to directly access the SkSwizzler, and update it to do
sampling. This way, the SkCodec knows nothing of sampling, but we can
still save the extra step of sampling afterwards.

FIXME: SkBmpRLECodec still calls SkScaledCodec::DimensionsSupported. It
seems like it could directly support sampling, rather than dealing with
SkScaledCodec (partially).

Add a new base class for SkSwizzler. It allows updating the swizzler
after it was created, which is done by SkScaledCodec. Modify SkSwizzler's
constructor/factory function to stop taking any info about sampling,
assume the sample size is one, and move modifying that into a virtual
function overridden from the base class.

BUG=skia:4284

Review URL: https://codereview.chromium.org/1372973002

9 years agoSkPDF: remove suppression
halcanary [Fri, 2 Oct 2015 19:15:55 +0000 (12:15 -0700)]
SkPDF: remove suppression

Review URL: https://codereview.chromium.org/1379183005

9 years agoIncrementally flush GrDrawTarget
joshualitt [Fri, 2 Oct 2015 18:27:14 +0000 (11:27 -0700)]
Incrementally flush GrDrawTarget

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/a7e878064509ef96b54d5507dab0b50def66dc13

Review URL: https://codereview.chromium.org/1386463004

9 years agoFix CrOS SampleApp
jvanverth [Fri, 2 Oct 2015 17:42:36 +0000 (10:42 -0700)]
Fix CrOS SampleApp

Add compile-time check for GPU build when using GPU flag

TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1376423004

9 years agoRevert of Incrementally flush GrDrawTarget (patchset #8 id:130001 of https://coderevi...
joshualitt [Fri, 2 Oct 2015 17:16:03 +0000 (10:16 -0700)]
Revert of Incrementally flush GrDrawTarget (patchset #8 id:130001 of https://codereview.chromium.org/1386463004/ )

Reason for revert:
breaking bots

Original issue's description:
> Incrementally flush GrDrawTarget
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/a7e878064509ef96b54d5507dab0b50def66dc13

TBR=robertphillips@google.com,bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1386683002

9 years agoSome iOS fixes to make SampleApp work better.
jvanverth [Fri, 2 Oct 2015 16:12:05 +0000 (09:12 -0700)]
Some iOS fixes to make SampleApp work better.

Changes:
- Rebuild argc and argv so we can process command line arguments
- Remove unnecessary SimpleiOSApp files
- Add support for reading files from the app bundle
- Add gpu flag so we can start up directly into OpenGL

Review URL: https://codereview.chromium.org/1382943004

9 years agoIncrementally flush GrDrawTarget
joshualitt [Fri, 2 Oct 2015 16:06:39 +0000 (09:06 -0700)]
Incrementally flush GrDrawTarget

BUG=skia:

Review URL: https://codereview.chromium.org/1386463004

9 years agoAdd work around for devices/API filters that claim GL_KHR_debug support but don't...
bsalomon [Fri, 2 Oct 2015 15:34:28 +0000 (08:34 -0700)]
Add work around for devices/API filters that claim GL_KHR_debug support but don't provide functions

Review URL: https://codereview.chromium.org/1383763004

9 years agoRemove separate cache for clip mask textures
bsalomon [Fri, 2 Oct 2015 14:49:05 +0000 (07:49 -0700)]
Remove separate cache for clip mask textures

Review URL: https://codereview.chromium.org/1377943003

9 years agoRevert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due...
joshualitt [Fri, 2 Oct 2015 13:56:25 +0000 (06:56 -0700)]
Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1375733003/ )

Reason for revert:
Reverting, optimistically fixed

Original issue's description:
> Reland of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1382933002/ )
>
> Reason for revert:
> Not fixed. :-(
>
> Original issue's description:
> > Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ )
> >
> > Reason for revert:
> > should hopefully be fixed, please reland if not.
> >
> > Original issue's description:
> > > Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373
> > >
> > > BUG=skia:4373
> > >
> > > Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47
> >
> > TBR=borenet@google.com,benjaminwagner@google.com
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:4373
> >
> > Committed: https://skia.googlesource.com/skia/+/52f8deba607fd67558b57551cd43406c8b743072
>
> TBR=borenet@google.com,joshualitt@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:4373
>
> Committed: https://skia.googlesource.com/skia/+/9442ab8a40dd0effde253e3b2d166bcf47222e92

TBR=borenet@google.com,benjaminwagner@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4373

Review URL: https://codereview.chromium.org/1385633002

9 years agoS4 only has 8 texture units on the GLContext we create
joshualitt [Fri, 2 Oct 2015 13:49:23 +0000 (06:49 -0700)]
S4 only has 8 texture units on the GLContext we create

BUG=skia:4373

Review URL: https://codereview.chromium.org/1386643002

9 years agoSkia: Add Command Buffer support to Linux/Mac
hendrikw [Fri, 2 Oct 2015 01:29:34 +0000 (18:29 -0700)]
Skia: Add Command Buffer support to Linux/Mac

Code added to load libcommand_buffer_gles2.so on linux or
mac.

Review URL: https://codereview.chromium.org/1346423002

9 years agoReland of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due...
benjaminwagner [Thu, 1 Oct 2015 23:25:51 +0000 (16:25 -0700)]
Reland of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1382933002/ )

Reason for revert:
Not fixed. :-(

Original issue's description:
> Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ )
>
> Reason for revert:
> should hopefully be fixed, please reland if not.
>
> Original issue's description:
> > Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373
> >
> > BUG=skia:4373
> >
> > Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47
>
> TBR=borenet@google.com,benjaminwagner@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:4373
>
> Committed: https://skia.googlesource.com/skia/+/52f8deba607fd67558b57551cd43406c8b743072

TBR=borenet@google.com,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4373

Review URL: https://codereview.chromium.org/1375733003

9 years agoUpdate Android toolchains and streamline process.
mtklein [Thu, 1 Oct 2015 20:24:23 +0000 (13:24 -0700)]
Update Android toolchains and streamline process.

  - This updates to r10e / API v21 everywhere.
  - This has each host machine fetch the NDK,
    run make-standalone-toolchain.sh, and copy gdbserver itself.

(It will do all this once per $ARCH, which is a little inefficient, but it
washes out in steady state.)

BUG=skia:

Review URL: https://codereview.chromium.org/1385463002

9 years agoStrip font name of special characters before dumping
ssid [Thu, 1 Oct 2015 19:41:35 +0000 (12:41 -0700)]
Strip font name of special characters before dumping

The font name can contain special characters in some OS that is
considered as delimiters ('/') by the traces. This causes error in the
dump name. This CL strips the fone name obtained before adding it to
traces.

This also adds discardable memory size for resources in cache.

BUG=532838

Review URL: https://codereview.chromium.org/1346993006

9 years agoBase SkAutoTUnref on skstd::unique_ptr.
bungeman [Thu, 1 Oct 2015 19:28:49 +0000 (12:28 -0700)]
Base SkAutoTUnref on skstd::unique_ptr.

To further consolidate the various unique owning classes, this bases
SkAutoTUnref on skstd::unique_ptr. Users are updated because of two
breaking changes, swap now takes a reference and reset no longer
returns its argument.

Review URL: https://codereview.chromium.org/1370803002

9 years agoRevert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due...
joshualitt [Thu, 1 Oct 2015 19:09:17 +0000 (12:09 -0700)]
Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ )

Reason for revert:
should hopefully be fixed, please reland if not.

Original issue's description:
> Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373
>
> BUG=skia:4373
>
> Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47

TBR=borenet@google.com,benjaminwagner@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4373

Review URL: https://codereview.chromium.org/1382933002

9 years agoBasic CPU support for VisualBench.
mtklein [Thu, 1 Oct 2015 18:56:56 +0000 (11:56 -0700)]
Basic CPU support for VisualBench.

BUG=skia:

Review URL: https://codereview.chromium.org/1378393002

9 years agoFix for texture width or height are greater than 2^16
joshualitt [Thu, 1 Oct 2015 18:54:34 +0000 (11:54 -0700)]
Fix for texture width or height are greater than 2^16

BUG=skia:3467
TBR=

Review URL: https://codereview.chromium.org/1380153002

9 years agoadd hard-coded limit for tmp allocations when HQ image scaling
reed [Thu, 1 Oct 2015 18:21:57 +0000 (11:21 -0700)]
add hard-coded limit for tmp allocations when HQ image scaling

BUG=528628

Review URL: https://codereview.chromium.org/1368393003

9 years agoSkPDF: ASAN fix: don't double ref new SkPDFBitmap objects
halcanary [Thu, 1 Oct 2015 18:06:22 +0000 (11:06 -0700)]
SkPDF: ASAN fix: don't double ref new SkPDFBitmap objects

TBR=robertphillips@google.com,tomhudson@google.com,

Review URL: https://codereview.chromium.org/1381073005

9 years agoUpdate libwebp and resume testing scaled webp
scroggo [Thu, 1 Oct 2015 17:56:08 +0000 (10:56 -0700)]
Update libwebp and resume testing scaled webp

libwebp has a fix for [1]. Update to the commit that contains the fix.

Update libwebp.gypi, corresponding to libwebp's latest makefile.

Turn back on DM testing for scaled webp, now that it should no longer
use uninitialized memory.

[1] https://code.google.com/p/webp/issues/detail?id=254

BUG=skia:4038

Committed: https://skia.googlesource.com/skia/+/0575d3e6c272744a66ab3281f9871366717df339

Review URL: https://codereview.chromium.org/1280073002

9 years agoEnable image is opaque test seems to pass now
joshualitt [Thu, 1 Oct 2015 16:49:25 +0000 (09:49 -0700)]
Enable image is opaque test seems to pass now

BUG=skia:2857

Review URL: https://codereview.chromium.org/1375293003

9 years agoRemove const from `const int loops`.
mtklein [Thu, 1 Oct 2015 16:43:39 +0000 (09:43 -0700)]
Remove const from `const int loops`.

This drives me nuts, and prevents `while (loops --> 0)`.

BUG=skia:

Review URL: https://codereview.chromium.org/1379923005

9 years agoFix drawVertices when there is a paint alpha
bsalomon [Thu, 1 Oct 2015 15:34:17 +0000 (08:34 -0700)]
Fix drawVertices when there is a paint alpha

Review URL: https://codereview.chromium.org/1382753002

9 years agoAutomatically add extra CQ trybots for predetermined paths
rmistry [Thu, 1 Oct 2015 15:24:03 +0000 (08:24 -0700)]
Automatically add extra CQ trybots for predetermined paths

If the CL does not contain a "CQ_EXTRA_TRYBOTS=" section then it constructs one from the paths modified in your CL.

If you already have an existing "CQ_EXTRA_TRYBOTS=" section in your CL then it parses it, preserves your options, and only adds the builders and masters that were missing.

Also ensures no trybots are repeated (i.e. each master trybot combination only shows up once).

And I killed the hashtags feature in this CL, nobody was using it.

BUG=skia:4364

Review URL: https://codereview.chromium.org/1383743002

9 years agoResolve TODOs in PRESUBMIT.py
rmistry [Thu, 1 Oct 2015 15:10:54 +0000 (08:10 -0700)]
Resolve TODOs in PRESUBMIT.py

BUG=skia:

Review URL: https://codereview.chromium.org/1384453004

9 years agoAdd overrides to SkAndroidSDKCanvas, update SkHwuiRenderer
tomhudson [Thu, 1 Oct 2015 15:02:22 +0000 (08:02 -0700)]
Add overrides to SkAndroidSDKCanvas, update SkHwuiRenderer

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

9 years agoSkPDF: Implement drawImage*() properly
halcanary [Thu, 1 Oct 2015 14:28:13 +0000 (07:28 -0700)]
SkPDF: Implement drawImage*() properly

drawImage calls now properly embeds the original jpeg.

NOTE: drawBitmap*() calls no longer embed JPEG files when
possible (this is in advance of eliminating bitmaps backed
by encoded data).  Chromium has already moved from
drawBitmap to drawImage.

Comparisons:

control:
    total PDF drawImage/drawBitmap calls: 8010
    total PDF jpeg images: 0
    total PDF regular images: 3581

experiament:
    total PDF drawImage/drawBitmap calls: 8014
    total PDF jpeg images: 271
    total PDF regular images: 3311
    total PDF regular images: 3582 (271 + 3311)

When comparing rendered output there were perceptual
differences in the following four GMs: colorcube, emboss,
colormatrix, and tablecolorfilter.  All of these differences
were improvements (that is, closer to the 8888 rendering)
due fixing a bug with colorfilters and forgetting to call
notifyPixelsChanged.

No SKPs had perceptual differences.

Total PDF size dropped from 133964 kB to 126276 kB, a 5.7%
improvement (mostly due to restoring use of JPG images in
SKPs).

BUG=skia:4370

Review URL: https://codereview.chromium.org/1372783003

9 years agoFix for 2056
joshualitt [Thu, 1 Oct 2015 13:28:11 +0000 (06:28 -0700)]
Fix for 2056

BUG=skia:2056

Review URL: https://codereview.chromium.org/1376293003

9 years agoRevert of Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor...
robertphillips [Thu, 1 Oct 2015 11:53:36 +0000 (04:53 -0700)]
Revert of Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor) (patchset #1 id:1 of https://codereview.chromium.org/1378023004/ )

Reason for revert:
Failing some Blink layout tests - will wait until after branch.

Original issue's description:
> Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)
>
> Committed: https://skia.googlesource.com/skia/+/2d70bcccc9ba8f3898a7ae506ba7410ed8e9c9db

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1378323002

9 years agoImplement stencil clipping in mixed sampled render targets
vbuzinov [Thu, 1 Oct 2015 06:02:06 +0000 (23:02 -0700)]
Implement stencil clipping in mixed sampled render targets

This change enables multisampled clipping for mixed sampled
render targets.  Previously clipping in mixed samples config
behaved the same as in the gpu config.

In order to retrofit non-MSAA draw methods, programmable sample
locations are used in order to colocate all samples at (0.5, 0.5).
Requires support for NV_sample_locations.

BUG=skia:4399

Review URL: https://codereview.chromium.org/1232103002

9 years agoSmall DM cleanup
scroggo [Wed, 30 Sep 2015 20:01:55 +0000 (13:01 -0700)]
Small DM cleanup

We set a value to bounds, and then immediately replace it. Skip the
first one.

Review URL: https://codereview.chromium.org/1378923002

9 years agoHave GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)
robertphillips [Wed, 30 Sep 2015 19:28:06 +0000 (12:28 -0700)]
Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)

Review URL: https://codereview.chromium.org/1378023004

9 years agoAvoid copies in SkMasks constructor
scroggo [Wed, 30 Sep 2015 19:26:49 +0000 (12:26 -0700)]
Avoid copies in SkMasks constructor

Also mark const methods as const.

Review URL: https://codereview.chromium.org/1364463005

9 years agoAdd some of my favorite headers to gyp.
herb [Wed, 30 Sep 2015 19:22:25 +0000 (12:22 -0700)]
Add some of my favorite headers to gyp.

BUG=skia:

Review URL: https://codereview.chromium.org/1378133003

9 years agoRevert[4] of add ImageShader, sharing code with its Bitmap cousin
reed [Wed, 30 Sep 2015 19:21:45 +0000 (12:21 -0700)]
Revert[4] of add ImageShader, sharing code with its Bitmap cousin

Now with GrTextureMaker subclasses to handle npot usage.

This reverts commit 476506d070dbc59b158acc1a00c34bff95ab2968.

BUG=skia:

Review URL: https://codereview.chromium.org/1370223002

9 years agoFix for nexus 5 crashing in GL benches
joshualitt [Wed, 30 Sep 2015 19:11:07 +0000 (12:11 -0700)]
Fix for nexus 5 crashing in GL benches

GLBenches do not expect gl state  to change between onPerCanvasPreDraw and *PostDraw, but we do a clear and sometimes we clear as draw.  This causes us to bind vertex objects / programs / etc.

This change creates two new virtual methods which are called right before and immediately after timing.

BUG=skia:

Review URL: https://codereview.chromium.org/1379853003

9 years agoFix bug testing SkCodec for ICO
scroggo [Wed, 30 Sep 2015 18:33:12 +0000 (11:33 -0700)]
Fix bug testing SkCodec for ICO

Looking in Gold, I see some ICO images that only show the upper left
corner of the originals. It is happening because we use different ways
of deciding what the dimensions are:

In CodecSrc::size(), we use an SkScaledCodec to get the dimensions,
even when fMode is not kScaledCodec_Mode.

In CodecSrc::draw(), we only use SkScaledCodec in kScaledCodec_Mode.

My recent CL to combine SkScanlineDecoder with SkCodec revealed this
bug, because now SkScaledCodec::NewFromStream will succeed on ICO.
(Previously, it failed because we do not yet have a scanline decoder
for ICO (skbug.com/4404). Now that they are combined, we would need
to specially flag ICO to stop returning an SkScaledCodec.)

Switch size() to use the correct type of codec.

Review URL: https://codereview.chromium.org/1373253004

9 years agoCMake for Windows
mtklein [Wed, 30 Sep 2015 18:06:53 +0000 (11:06 -0700)]
CMake for Windows

Except for some small edits, this is mainly:

patch from issue 1353953004 at patchset 80001 (http://crrev.com/1353953004#ps80001)

CMake configuration file for compiling Windows x64 VS2013 with CMake.

Things to be fixed:
- only x64 is supported
- I didn't try SKIA_GDI (experimental) and directly went for the DirectWrite - this should need an option in the CMake configuration
- make sure yasm and custom build rules paths are set correctly - if the hierarchy changes CMake will just blow things up
- compilation works but there are LOTS and LOTS of warnings (over 9000), if this is okay nevermind but since most of them are related to deprecated functions either consider fixing or suppressing them
- Release mode is untested - I suppose it won't be a big deal but might need some fixing

More info here: https://groups.google.com/forum/#!topic/skia-discuss/HLu-Hesfbg4

BUG=skia:4269

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1370263004

9 years agoCall rewindIfNeeded in SkCodec
scroggo [Wed, 30 Sep 2015 16:15:14 +0000 (09:15 -0700)]
Call rewindIfNeeded in SkCodec

Rather than calling it in each subclass, call it once in the base
class. Call it first, since other steps may modify internal structures
which would be replaced by a call to onRewind.

BUG=skia:4284

Review URL: https://codereview.chromium.org/1381483002

9 years agoMerge SkCodec with SkScanlineDecoder
scroggo [Wed, 30 Sep 2015 15:57:13 +0000 (08:57 -0700)]
Merge SkCodec with SkScanlineDecoder

Benefits:
- This mimics other decoding APIs (including the ones SkCodec relies
on, e.g. a png_struct, which can be used to decode an entire image or
one line at a time).

- It allows a client to ask us to do what we can do efficiently - i.e.
start from encoded data and either decode the whole thing or scanlines.

- It removes the duplicate methods which appeared in both SkCodec and
SkScanlineDecoder (some of which, e.g. in SkJpegScanlineDecoder, just
call fCodec->sameMethod()).

- It simplifies moving more checks into the base class (e.g. the
examples in skbug.com/4284).

BUG=skia:4175
BUG=skia:4284

=====================================================================

SkScanlineDecoder.h/.cpp:
Removed.

SkCodec.h/.cpp:
Add methods, enums, and variables which were previously in
SkScanlineDecoder.
Default fCurrScanline to -1, as a sentinel that start has not been
called.

General changes:
Convert SkScanlineDecoders to SkCodecs.

General changes in SkCodec subclasses:
Merge SkScanlineDecoder implementation into SkCodec. Most (all?) owned
an SkCodec, so they now call this-> instead of fCodec->.

SkBmpCodec.h/.cpp:
Replace the unused rowOrder method with an override for
onGetScanlineOrder.
Make getDstRow const, since it is called by onGetY, which is const.

SkCodec_libpng.h/.cpp:
Make SkPngCodec an abstract class, with two subclasses which handle
scanline decoding separately (they share code for decoding the entire
image). Reimplement onReallyHasAlpha so that it can return the most
recent result (e.g. after a scanline decode which only decoded part
of the image) or a better answer (e.g. if the whole image is known to
be opaque).
Compute fNumberPasses early, so we know which subclass to instantiate.
Make SkPngInterlaceScanlineDecoder use the base class' fCurrScanline
rather than a separate variable.

CodexTest.cpp:
Add tests for the state changes in SkCodec (need to call start before
decoding scanlines; calling getPixels means that start will need to
be called again before decoding more scanlines).
Add a test which decodes in stripes, currently only used for an
interlaced PNG.

TODO: Add tests for onReallyHasAlpha.

Review URL: https://codereview.chromium.org/1365313002

9 years agofix for default path renderer draws harlines without bloating
joshualitt [Wed, 30 Sep 2015 13:22:22 +0000 (06:22 -0700)]
fix for default path renderer draws harlines without bloating

BUG=skia:3883

Review URL: https://codereview.chromium.org/1372973003

9 years agoAdd support for light dumps in SkTraceMemoryDump interface.
ssid [Wed, 30 Sep 2015 11:31:23 +0000 (04:31 -0700)]
Add support for light dumps in SkTraceMemoryDump interface.

SkGlyphCache dumps too many glyphs, and to reduce the trace size,
RequestDetails enum is added to SkTraceMemoryDump interface. This
would tell caches to dump only requested details or not a detailed
dump.

BUG=499731

Review URL: https://codereview.chromium.org/1310123007

9 years agoremove unused helper function
reed [Wed, 30 Sep 2015 01:27:59 +0000 (18:27 -0700)]
remove unused helper function

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1376603006

9 years agoUnify ThreadID.
herb [Tue, 29 Sep 2015 21:38:01 +0000 (14:38 -0700)]
Unify ThreadID.

BUG=skia:

Review URL: https://codereview.chromium.org/1371303003

9 years agotry texture-maker to generalize stretching for npot and min-tex-size
reed [Tue, 29 Sep 2015 20:36:50 +0000 (13:36 -0700)]
try texture-maker to generalize stretching for npot and min-tex-size

BUG=skia:

Review URL: https://codereview.chromium.org/1376603002

9 years agocmake tweaks
mtklein [Tue, 29 Sep 2015 20:16:33 +0000 (13:16 -0700)]
cmake tweaks

  • -w silences all warnings current and future.  We're not using this for development.
  • There's no real need to exclude files in Release mode.
    The linker may whine a little, but that's fine.
  • Quiet down message() calls that run every time.  They're fine if you can figure out
    how to run them only when doing the detection and cache them like all the others,
    but I don't like the noise seeing them every run.
  • cheaders is hard to read.  c_headers.
  • ../src/*mac* erroneously picks up SkLumaColorFilter on non-case-sensitive file systems.
    ../src/*_mac* seems fine.

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot

BUG=skia:

Review URL: https://codereview.chromium.org/1376923003

9 years agoRevert of Implement SkImageFilter::Cache with SkResourceCache. (patchset #8 id:140001...
mtklein [Tue, 29 Sep 2015 19:17:08 +0000 (12:17 -0700)]
Revert of Implement SkImageFilter::Cache with SkResourceCache. (patchset #8 id:140001 of https://codereview.chromium.org/1370323002/ )

Reason for revert:
Landed PS8 temporarily to trigger the perf bots.

Original issue's description:
> Implement SkImageFilter::Cache with SkResourceCache.
>
> The single global cache now uses the global SkResourceCache,
> and any Create()ed cache uses a local SkResourceCache.
>
> No real public API changes (and only deletes).
>
> I don't see any pixel diffs on .skps or GMs.
> Don't see any significant perf difference on 8888 or gpu configs.
> DM peak memory usage did drop by about 113M, close to the 128M cache size.
>
> BUG=skia:3662
>
> Landing PS8 temporarily to trigger the perf bots.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/75135d8ae1aa12e8e6bfce63291e5e876a77546f

TBR=reed@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3662

Review URL: https://codereview.chromium.org/1381523002

9 years agoImplement SkImageFilter::Cache with SkResourceCache.
mtklein [Tue, 29 Sep 2015 19:15:52 +0000 (12:15 -0700)]
Implement SkImageFilter::Cache with SkResourceCache.

The single global cache now uses the global SkResourceCache,
and any Create()ed cache uses a local SkResourceCache.

No real public API changes (and only deletes).

I don't see any pixel diffs on .skps or GMs.
Don't see any significant perf difference on 8888 or gpu configs.
DM peak memory usage did drop by about 113M, close to the 128M cache size.

BUG=skia:3662

Landing PS8 temporarily to trigger the perf bots.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1370323002

9 years agoMove Mutexy things to private.
herb [Tue, 29 Sep 2015 18:47:45 +0000 (11:47 -0700)]
Move Mutexy things to private.

There is no API change.

TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1368333004

9 years agoHandle inverted rects in SkRRect creation methods
robertphillips [Tue, 29 Sep 2015 18:24:07 +0000 (11:24 -0700)]
Handle inverted rects in SkRRect creation methods

An alternative way of addressing this is to alter SkCanvas::drawRoundRect to just reject isEmpty (i.e., un-sorted or truly empty) input rects.

BUG=skia:3786

Review URL: https://codereview.chromium.org/1373293002

9 years agoupdate memset16/32 inlining heuristics
mtklein [Tue, 29 Sep 2015 17:38:59 +0000 (10:38 -0700)]
update memset16/32 inlining heuristics

I spent some time looking at perf.skia.org and it looks like we can do better.

It is weird, weird, weird that on x86, we see three completely different behaviors:
  - x86 Android: inlining better for small N, custom better for large N;
  - Windows:     inlining better for large N, custom better for small N;
  - other x86:   inlining generally better

BUG=skia:4316,chromium:516426

Committed: https://skia.googlesource.com/skia/+/b68fa409fc00ce2f38e2a0fd6f9dc2379b372481

Summaries: https://perf.skia.org/#4179
All traces, log scale: https://perf.skia.org/#4180

TBR=reed@google.com
No public API changes.

Review URL: https://codereview.chromium.org/1357193002

9 years agoskia: roll ANGLE and remove compile flags
hendrikw [Tue, 29 Sep 2015 17:30:31 +0000 (10:30 -0700)]
skia: roll ANGLE and remove compile flags

Recent angle change allows us to remove some of the ANGLE specific
compile flags

Review URL: https://codereview.chromium.org/1376803003

9 years agoRevert of By default purge resources that haven't been used for 64 flushes (patchset...
bsalomon [Tue, 29 Sep 2015 17:24:45 +0000 (10:24 -0700)]
Revert of By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )

Reason for revert:
Breaking conformance test again

Original issue's description:
> By default purge resources that haven't been used for 64 flushes
>
> BUG=skia:4258
>
> Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104
>
> R=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54
>
> Committed: https://skia.googlesource.com/skia/+/bd783cd5b62118277b75933c3cd7b9097129259a
>
> Committed: https://skia.googlesource.com/skia/+/198a350051824229aa89a5d6348f5a7fc875c9ca

TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4258

Review URL: https://codereview.chromium.org/1374933004

9 years agoHave /src files use header directly.
herb [Tue, 29 Sep 2015 16:37:59 +0000 (09:37 -0700)]
Have /src files use header directly.

BUG=skia:

Review URL: https://codereview.chromium.org/1373253003

9 years agoBy default purge resources that haven't been used for 64 flushes
bsalomon [Tue, 29 Sep 2015 14:25:49 +0000 (07:25 -0700)]
By default purge resources that haven't been used for 64 flushes

BUG=skia:4258

Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104

R=robertphillips@google.com

Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54

Committed: https://skia.googlesource.com/skia/+/bd783cd5b62118277b75933c3cd7b9097129259a

Review URL: https://codereview.chromium.org/1316233003

9 years agoUse child processors to implement compose color filter.
bsalomon [Tue, 29 Sep 2015 13:38:55 +0000 (06:38 -0700)]
Use child processors to implement compose color filter.

Review URL: https://codereview.chromium.org/1368423003

9 years agoSkImage::NewFromBitmap works with Index8
halcanary [Mon, 28 Sep 2015 18:55:28 +0000 (11:55 -0700)]
SkImage::NewFromBitmap works with Index8

BUG=skia:4390

Review URL: https://codereview.chromium.org/1377473002

9 years agoDM: PDFSink sets rasterizer keyword
halcanary [Mon, 28 Sep 2015 18:51:54 +0000 (11:51 -0700)]
DM: PDFSink sets rasterizer keyword

Review URL: https://codereview.chromium.org/1376573002

9 years agoMove SkAtomics.h to private.
herb [Mon, 28 Sep 2015 18:24:13 +0000 (11:24 -0700)]
Move SkAtomics.h to private.

There are no API changes.

TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1369333004

9 years agoMove code search info to sub-page. Add additional code search options.
benjaminwagner [Mon, 28 Sep 2015 18:15:09 +0000 (11:15 -0700)]
Move code search info to sub-page. Add additional code search options.

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1375523003

Review URL: https://codereview.chromium.org/1375523003

9 years agoMake SkPath fFirstDirection atomic to fix tsan.
herb [Mon, 28 Sep 2015 18:05:47 +0000 (11:05 -0700)]
Make SkPath fFirstDirection atomic to fix tsan.

There is no API change.

TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1372103003

9 years agosimplify code in SkRecords.h
mtklein [Mon, 28 Sep 2015 17:33:02 +0000 (10:33 -0700)]
simplify code in SkRecords.h

   - use C++11 features ({} init, move constructors) to eliminate the need
     for explicit constructors
   - collapse RECORD0...RECORD8 into just one RECORD macro
   - explicitly tag record types instead of using member detectors.

Removing member detectors makes this code significantly less fragile.

This exposes a few places where we didn't really think through what to do
with SkDrawable.  I've marked them TODO for now.

BUG=skia:

Review URL: https://codereview.chromium.org/1360943003

9 years agoRevert of Revert[2] of add ImageShader, sharing code with its Bitmap cousin (patchset...
reed [Mon, 28 Sep 2015 17:26:51 +0000 (10:26 -0700)]
Revert of Revert[2] of add ImageShader, sharing code with its Bitmap cousin (patchset #11 id:200001 of https://codereview.chromium.org/1352293002/ )

Reason for revert:
guess: Need to handle NPOT support in shader case

Original issue's description:
> Revert[2] of add ImageShader, sharing code with its Bitmap cousin
>
> Adjustment from previous land : runtime check for npot-support when texture is requested for tiling.
>
> (patchset #10 id:180001 of https://codereview.chromium.org/1342113002/ )
>
> This reverts commit f2608513626264459a00388537175600b515cae2.
>
> BUG=skia:4365
>
> Committed: https://skia.googlesource.com/skia/+/fe05707c356d2a8c2c69222591d4cafbd456b4e5

TBR=fmalita@chromium.org,robertphillips@google.com,bsalomon@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4365

Review URL: https://codereview.chromium.org/1375673002

9 years agoRevert of change pixel-serializer to support reencoding existing data (patchset ...
reed [Mon, 28 Sep 2015 16:58:41 +0000 (09:58 -0700)]
Revert of change pixel-serializer to support reencoding existing data (patchset #5 id:80001 of https://codereview.chromium.org/1373683003/ )

Reason for revert:
Need to somehow get access to encoders in chrome -- link error on the roll since SkImageEncoder is not built as part of chrome.

Original issue's description:
> change pixel-serializer to support reencoding existing data
>
> Trying to evolve this interface so it can
> - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT
> - allow for encoding images as well as bitmaps (e.g. for picture serialization)
> - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/13f48dc85aa68a60da66aaf39c93d527d11d1278

TBR=scroggo@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1371983003

9 years agoRevert of SkImage-backed SkPictureShader (patchset #4 id:60001 of https://codereview...
robertphillips [Mon, 28 Sep 2015 16:32:50 +0000 (09:32 -0700)]
Revert of SkImage-backed SkPictureShader (patchset #4 id:60001 of https://codereview.chromium.org/1343153003/ )

Reason for revert:
This CL appears to be breaking the pictureshader, pictureshadertile and tiled_picture_shader GMs on the iPad4 and the N7. The artifact is black rectangles.

Original issue's description:
> SkImage-backed SkPictureShader
>
> Instead of using an explicit image generator + SkBitmap + bitmap shader,
> switch to the shiny new SkImage/image generator/image shader.
>
> R=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/97be9a0c86eedd8ab85ae7d9aaccb0b0a8e4577d

TBR=reed@google.com,fmalita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1374763003

9 years agoAdd cast and assignment operators to SkAtomic.
herb [Mon, 28 Sep 2015 15:59:18 +0000 (08:59 -0700)]
Add cast and assignment operators to SkAtomic.

This is not really an API change.

TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1369333002

9 years agochange pixel-serializer to support reencoding existing data
reed [Mon, 28 Sep 2015 15:58:53 +0000 (08:58 -0700)]
change pixel-serializer to support reencoding existing data

Trying to evolve this interface so it can
- support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT
- allow for encoding images as well as bitmaps (e.g. for picture serialization)
- perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format)

BUG=skia:

Review URL: https://codereview.chromium.org/1373683003

9 years agoSkBlockMemoryStream: correct test in getMemoryBase().
halcanary [Mon, 28 Sep 2015 14:29:39 +0000 (07:29 -0700)]
SkBlockMemoryStream: correct test in getMemoryBase().

The test "nullptr == fBlockMemory->fHead->fNext" tests that
all of the data is in one block, but it is also necessary to
test "fBlockMemory->fHead" to ensure that there is a first
block with data in it.

Review URL: https://codereview.chromium.org/1374493002

9 years agoMake skpaint->grpaint flow work for composing draws (verts and atlas)
bsalomon [Mon, 28 Sep 2015 13:26:28 +0000 (06:26 -0700)]
Make skpaint->grpaint flow work for composing draws (verts and atlas)

One side effect is that the SkShader's (or implicit shader's) fragment processor is responsible for the transition from an unpremul paint color to a premul color.

Review URL: https://codereview.chromium.org/1348583002

9 years agoEdgeClip demo to show scan-converter clipping behavior
reed [Mon, 28 Sep 2015 13:16:07 +0000 (06:16 -0700)]
EdgeClip demo to show scan-converter clipping behavior

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1367373002

9 years agoUpdate SKP version
update-skps [Sun, 27 Sep 2015 07:19:27 +0000 (00:19 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

Review URL: https://codereview.chromium.org/1369923002

9 years agoSkImage-backed SkPictureShader
fmalita [Fri, 25 Sep 2015 22:04:43 +0000 (15:04 -0700)]
SkImage-backed SkPictureShader

Instead of using an explicit image generator + SkBitmap + bitmap shader,
switch to the shiny new SkImage/image generator/image shader.

R=reed@google.com

Review URL: https://codereview.chromium.org/1343153003

9 years agoRemove SkBitmapSource
fmalita [Fri, 25 Sep 2015 16:15:55 +0000 (09:15 -0700)]
Remove SkBitmapSource

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

9 years agoSkInstallDiscardablePixelRef is deprecated, enforce that
reed [Fri, 25 Sep 2015 13:56:57 +0000 (06:56 -0700)]
SkInstallDiscardablePixelRef is deprecated, enforce that

No functionality change, just a renaming.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1372593002

9 years agouse override to make the new xcode happier
reed [Fri, 25 Sep 2015 11:49:43 +0000 (04:49 -0700)]
use override to make the new xcode happier

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1368673004