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
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
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
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
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
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
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
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
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
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
jvanverth [Mon, 5 Oct 2015 18:05:07 +0000 (11:05 -0700)]
Add ship sample
BUG=skia:
Review URL: https://codereview.chromium.org/
1359033005
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
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
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
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
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
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
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
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
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
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
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
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
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
halcanary [Fri, 2 Oct 2015 19:15:55 +0000 (12:15 -0700)]
SkPDF: remove suppression
Review URL: https://codereview.chromium.org/
1379183005
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
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
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
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
joshualitt [Fri, 2 Oct 2015 16:06:39 +0000 (09:06 -0700)]
Incrementally flush GrDrawTarget
BUG=skia:
Review URL: https://codereview.chromium.org/
1386463004
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
herb [Tue, 29 Sep 2015 21:38:01 +0000 (14:38 -0700)]
Unify ThreadID.
BUG=skia:
Review URL: https://codereview.chromium.org/
1371303003
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
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
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
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
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
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
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
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
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
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
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
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
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
halcanary [Mon, 28 Sep 2015 18:51:54 +0000 (11:51 -0700)]
DM: PDFSink sets rasterizer keyword
Review URL: https://codereview.chromium.org/
1376573002
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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