platform/upstream/libSkiaSharp.git
8 years agoNo one calls SkXfermode::GetProc16
mtklein [Mon, 27 Jul 2015 19:07:29 +0000 (12:07 -0700)]
No one calls SkXfermode::GetProc16

BUG=skia:

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

8 years agoRevert of Lay groundwork for SkOpts. (patchset #3 id:40001 of https://codereview...
mtklein [Mon, 27 Jul 2015 19:03:23 +0000 (12:03 -0700)]
Revert of Lay groundwork for SkOpts. (patchset #3 id:40001 of https://codereview.chromium.org/1255193002/)

Reason for revert:
Chromium doesn't call SkGraphics::Init().  This setup won't work.

Original issue's description:
> Lay groundwork for SkOpts.
>
> This doesn't really do anything yet.  It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks.
>
> BUG=skia:4117
>
> Committed: https://skia.googlesource.com/skia/+/ce2c5055cee5d5d3c9fc84c1b3eeed4b4d84a827

TBR=djsollen@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4117

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

8 years agofix up GrImmediateDrawTarget.cpp
joshualitt [Mon, 27 Jul 2015 18:41:15 +0000 (11:41 -0700)]
fix up GrImmediateDrawTarget.cpp

TBR=bsalomon@google.com
BUG=skia:

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

8 years agoRemove sk_memcpy32
mtklein [Mon, 27 Jul 2015 18:08:28 +0000 (11:08 -0700)]
Remove sk_memcpy32

It's only implemented on x86, where the exisiting benchmark says memcpy() is
faster for all cases:

Timer overhead: 24ns
curr/maxrss    loops    min    median    mean    max    stddev    samples       config    bench
  10/10  MB    1    35.9µs    36.2µs    36.2µs    36.6µs    1%    ▁▂▄▅▅▃█▄▄▅    nonrendering    sk_memcpy32_100000
  10/10  MB    13    2.27µs    2.28µs    2.28µs    2.29µs    0%    █▄▃▅▃▁▃▅▁▄    nonrendering    sk_memcpy32_10000
  11/11  MB    677    91.6ns    95.9ns    94.5ns    99.4ns    3%    ▅▅▅▅▅█▁▁▁▁    nonrendering    sk_memcpy32_1000
  11/11  MB    1171    20ns    20.9ns    21.3ns    23.4ns    6%    ▁▁▇▃▃▃█▇▃▃    nonrendering    sk_memcpy32_100
  11/11  MB    1952    14ns    14ns    14.3ns    15.2ns    3%    ▁▁██▁▁▁▁▁▁    nonrendering    sk_memcpy32_10
  11/11  MB    5    33.6µs    33.7µs    34.1µs    35.2µs    2%    ▆▇█▁▁▁▁▁▁▁    nonrendering    memcpy32_memcpy_100000
  11/11  MB    18    2.12µs    2.22µs    2.24µs    2.39µs    5%    ▂█▄▇█▄▇▁▁▁    nonrendering    memcpy32_memcpy_10000
  11/11  MB    1112    87.3ns    87.3ns    89.1ns    93.7ns    3%    ▄██▄▁▁▁▁▁▁    nonrendering    memcpy32_memcpy_1000
  11/11  MB    2124    12.8ns    13.3ns    13.5ns    14.8ns    6%    ▁▁▁█▃▃█▇▃▃    nonrendering    memcpy32_memcpy_100
  11/11  MB    3077    9ns    9.41ns    9.52ns    10.2ns    4%    ▃█▁█▃▃▃▃▃▃    nonrendering    memcpy32_memcpy_10

(Why?  One fewer thing to port to SkOpts.)

BUG=skia:4117

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

8 years agoLay groundwork for SkOpts.
mtklein [Mon, 27 Jul 2015 17:52:33 +0000 (10:52 -0700)]
Lay groundwork for SkOpts.

This doesn't really do anything yet.  It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks.

BUG=skia:4117

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

8 years agoMake peekPixels() usable with raster surface snapshots
fmalita [Mon, 27 Jul 2015 17:27:28 +0000 (10:27 -0700)]
Make peekPixels() usable with raster surface snapshots

SkSurface_Raster snapshots do not lock their backing bitmaps when the
pixel ref is shared - they only lock on deep-copy.

But since for raster surfaces the pixels are always in memory, I think
it would be OK to also lock in the former case.

This allows for optimized (zero-copy) reads of raster surface snapshot
data.

R=reed@google.com

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

8 years agoSteal refs from other TextBatch in onCombineIfPossible
bsalomon [Mon, 27 Jul 2015 14:00:00 +0000 (07:00 -0700)]
Steal refs from other TextBatch in onCombineIfPossible

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

8 years agoNEON has a ternary instruction.
mtklein [Mon, 27 Jul 2015 13:12:05 +0000 (06:12 -0700)]
NEON has a ternary instruction.

Nothing seems to run any faster or slower, but it is terser.

BUG=skia:

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

8 years agoMake allocation count in TextBatch implicit
bsalomon [Mon, 27 Jul 2015 13:12:01 +0000 (06:12 -0700)]
Make allocation count in TextBatch implicit

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

8 years agoRemove skia_arch_width, fold into skia_arch_type.
Brian Salomon [Mon, 27 Jul 2015 13:10:36 +0000 (09:10 -0400)]
Remove skia_arch_width, fold into skia_arch_type.
DOCS_PREVIEW= https://skia.org/?cl=1228553010

BUG=skia:4042
R=borenet@google.com, mtklein@google.com

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

8 years agoAdded GrGLBlend.h|cpp with helper function AppendPorterDuffBlend() in preparation...
wangyix [Fri, 24 Jul 2015 20:48:26 +0000 (13:48 -0700)]
Added GrGLBlend.h|cpp with helper function AppendPorterDuffBlend() in preparation for SkComposeShader gpu backend

BUG=skia:

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

8 years agomixed text blobs really draws LCD
joshualitt [Fri, 24 Jul 2015 20:16:24 +0000 (13:16 -0700)]
mixed text blobs really draws LCD

TBR=bsalomon@google.com
BUG=skia:

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

8 years agoUpdate Android Apps to use gradle
djsollen [Fri, 24 Jul 2015 20:15:58 +0000 (13:15 -0700)]
Update Android Apps to use gradle

This CL replaces ant with gradle for the task of building APKs.
The primary driver of this change is that it now allow us to
develop and test our apps using Android Studio.
DOCS_PREVIEW= https://skia.org/?cl=1215023017

Committed: https://skia.googlesource.com/skia/+/425535f1626932e4e22f61a2571f9c3c2b1c5977

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

8 years agorename portable_typeface_always to portable_typeface
caryclark [Fri, 24 Jul 2015 19:09:25 +0000 (12:09 -0700)]
rename portable_typeface_always to portable_typeface

TBR=reed@google.com

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

8 years agofix for GrAtlasTextContext occasionally crashes on mixed runs
joshualitt [Fri, 24 Jul 2015 18:24:31 +0000 (11:24 -0700)]
fix for GrAtlasTextContext occasionally crashes on mixed runs

TBR=bsalomon@google.com
BUG=510931

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

8 years agomake fontscalar gammatext lcdtext typeface verttext2 gm portable
caryclark [Fri, 24 Jul 2015 18:08:01 +0000 (11:08 -0700)]
make fontscalar gammatext lcdtext typeface verttext2 gm portable

Pass generic font names to tool util function to generate
platform specific fonts and gm test output by unique name.

R=bungeman@google.com

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

8 years agoMinimize retrieving SkGlyph in GrTextContext
joshualitt [Fri, 24 Jul 2015 17:37:00 +0000 (10:37 -0700)]
Minimize retrieving SkGlyph in GrTextContext

BUG=skia:

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

8 years agoFix Ganesh drawAtlas bug with quad colors
robertphillips [Fri, 24 Jul 2015 17:20:45 +0000 (10:20 -0700)]
Fix Ganesh drawAtlas bug with quad colors

Ganesh was not expanding the quad colors to vertex colors before calling drawVertices.

The new GM would've caught this bug and reveals Ganesh's limitations re the various xfer modes used with drawAtlas (i.e., w/o AA Ganesh only supports kModulate, w/ AA Ganesh only supports the coefficient-based xfer modes).

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

8 years agoSet preallocated TextBatch geometries to 4 rather than 32
bsalomon [Fri, 24 Jul 2015 15:10:43 +0000 (08:10 -0700)]
Set preallocated TextBatch geometries to 4 rather than 32

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

8 years agoskia: wrong calling convention on eglGetPlatformDisplayEXT
hendrikw [Fri, 24 Jul 2015 13:52:40 +0000 (06:52 -0700)]
skia: wrong calling convention on eglGetPlatformDisplayEXT

When attempting to run the release compile of nanobench on windows, I would
immediately crash due to c++'s buffer security check.

This was caused by calling the function with the wrong calling
convention.  I'm not sure how this ever worked for anyone.

Anyway, fix is to use eglext.h's version of the function definition.

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

8 years agomake dftext gm not overlap itself
caryclark [Thu, 23 Jul 2015 21:07:58 +0000 (14:07 -0700)]
make dftext gm not overlap itself

TBR=jvanverth@google.com

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

8 years agomake fontcache textblob gm portable
caryclark [Thu, 23 Jul 2015 20:48:31 +0000 (13:48 -0700)]
make fontcache textblob gm portable

TBR=reed@google.com

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

8 years agofix path ops fuzz buster
caryclark [Thu, 23 Jul 2015 19:40:22 +0000 (12:40 -0700)]
fix path ops fuzz buster

Mark collapsed segments as done and remove collapsed
segment references from the coincidence array.

Also add test names to global debugging.

R=fmalita@chromium.org
BUG=512592

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

8 years agomake dftext the same on Linux and Android
caryclark [Thu, 23 Jul 2015 19:38:59 +0000 (12:38 -0700)]
make dftext the same on Linux and Android

Use the same font sizes on both platforms so that the gm images
are easier to compare one to the other.

TBR=jvanverth@google.com

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

8 years agoRemove test of illegal behavior that modifies a texture backing an SkImage.
bsalomon [Thu, 23 Jul 2015 19:22:19 +0000 (12:22 -0700)]
Remove test of illegal behavior that modifies a texture backing an SkImage.

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

8 years agoFix Android x86 compile on mac
msarett [Thu, 23 Jul 2015 18:57:13 +0000 (11:57 -0700)]
Fix Android x86 compile on mac

It appears I failed to fully disable it on the first attempt.

BUG=skia:

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

8 years agoSkia: ANGLE Roll
hendrikw [Thu, 23 Jul 2015 18:56:40 +0000 (11:56 -0700)]
Skia: ANGLE Roll

Includes fix for vertex index.

BUG=510585

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

8 years agofix typeface leak
caryclark [Thu, 23 Jul 2015 18:52:01 +0000 (11:52 -0700)]
fix typeface leak

TBR=bungeman@google.com

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

8 years agoFix ImageNewSurface test on S4.
bsalomon [Thu, 23 Jul 2015 18:45:02 +0000 (11:45 -0700)]
Fix ImageNewSurface test on S4.

This still leaves the SkImage_NewFromTexture broken.

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

8 years agoFix variable shadowing in SkMorphologyImageFilter
robertphillips [Thu, 23 Jul 2015 18:35:08 +0000 (11:35 -0700)]
Fix variable shadowing in SkMorphologyImageFilter

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

8 years agoUpdate fallback rsqrt implementation to use optimal constants.
jvanverth [Thu, 23 Jul 2015 18:14:29 +0000 (11:14 -0700)]
Update fallback rsqrt implementation to use optimal constants.

Improves max relative error from 0.00175126 to 0.000650197.
Also add unit tests to check error bounds.

BUG=chromium:511458

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

8 years agofix comment on GrBatchTextStrike
joshualitt [Thu, 23 Jul 2015 17:58:48 +0000 (10:58 -0700)]
fix comment on GrBatchTextStrike

TBR=bsalomon@google.com
BUG=skia:

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

8 years agofix typo
caryclark [Thu, 23 Jul 2015 16:11:58 +0000 (09:11 -0700)]
fix typo

TBR=reed@google.com

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

8 years agoHave Windows use _mm_rsqrt_ss too.
mtklein [Thu, 23 Jul 2015 15:37:02 +0000 (08:37 -0700)]
Have Windows use _mm_rsqrt_ss too.

Tidy up a little while I'm in here:
  1) SIMD headers are now included by SkTypes.h as appropriate.
  2) _mm_cvtss_f32() is pithier and generates the same code.

Looks like this is the only code checking for SSE wrong.  After this CL:
    ~/skia (sse) $ git grep __SSE
    include/core/SkPreConfig.h:    #if defined(__SSE4_2__)
    include/core/SkPreConfig.h:    #elif defined(__SSE4_1__)
    include/core/SkPreConfig.h:    #elif defined(__SSE3__)
    include/core/SkPreConfig.h:    #elif defined(__SSE2__)
every other check is in SkPreConfig.h where it belongs.

This is going to affect some GMs subtly on Windows.

BUG=chromium:511458

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

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

8 years agoSmall tweak to TextBlobCacheTest
joshualitt [Thu, 23 Jul 2015 15:30:25 +0000 (08:30 -0700)]
Small tweak to TextBlobCacheTest

TBR=bsalomon@google.com
BUG=skia:

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

8 years agofix memory leak in TextBlobCacheTest
joshualitt [Thu, 23 Jul 2015 15:09:35 +0000 (08:09 -0700)]
fix memory leak in TextBlobCacheTest

TBR=bsalomon@google.com
BUG=skia:

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

8 years agoAttempt to somewhat simplify GrContext::readSurfacePixels interaction with GrGpu.
bsalomon [Thu, 23 Jul 2015 15:07:21 +0000 (08:07 -0700)]
Attempt to somewhat simplify GrContext::readSurfacePixels interaction with GrGpu.

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

8 years agoFix formatting in the CQ keywords markdown
rmistry [Thu, 23 Jul 2015 15:02:13 +0000 (08:02 -0700)]
Fix formatting in the CQ keywords markdown

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1247323002
TBR=jcgregorio

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

8 years agoName of primitive processor will now be printed in generated shader code
wangyix [Thu, 23 Jul 2015 15:02:09 +0000 (08:02 -0700)]
Name of primitive processor will now be printed in generated shader code

BUG=skia:

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

8 years agoRevert "Update Android Apps to use gradle"
joshualitt [Thu, 23 Jul 2015 15:00:33 +0000 (08:00 -0700)]
Revert "Update Android Apps to use gradle"

This reverts commit 425535f1626932e4e22f61a2571f9c3c2b1c5977.

NOTRY=true
NOTREECHECKS=true
TBR=djsollen@google.com
BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1250233002

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

8 years agoAdded GrGLFragmentProcessor::EmitArgs struct for use with emitCode()
wangyix [Wed, 22 Jul 2015 22:08:53 +0000 (15:08 -0700)]
Added GrGLFragmentProcessor::EmitArgs struct for use with emitCode()

BUG=skia:

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

8 years agoAdd skia_use_android_framework_defines GYP_DEFINE
borenet [Wed, 22 Jul 2015 20:29:25 +0000 (13:29 -0700)]
Add skia_use_android_framework_defines GYP_DEFINE

BUG=skia:4082

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

8 years agoMisc cleanup
robertphillips [Wed, 22 Jul 2015 18:54:44 +0000 (11:54 -0700)]
Misc cleanup

This is split off of https://codereview.chromium.org/1225923010/ (Start tightening correspondence betweeen GrDrawContext and GrRenderTarget). It:

fixes some style nits
replaces some passing of GrContext with GrTextureProvider & GrDrawContext
does a bit of the finer grained creation of GrDrawContexts

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

8 years agoUpdate Android Apps to use gradle
djsollen [Wed, 22 Jul 2015 18:33:24 +0000 (11:33 -0700)]
Update Android Apps to use gradle

This CL replaces ant with gradle for the task of building APKs.
The primary driver of this change is that it now allow us to
develop and test our apps using Android Studio.
DOCS_PREVIEW= https://skia.org/?cl=1215023017

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

8 years agoFix up textblobcachetest
joshualitt [Wed, 22 Jul 2015 18:00:32 +0000 (11:00 -0700)]
Fix up textblobcachetest

TBR=bsalomon@google.com
BUG=skia:

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

8 years ago565 support for SIMD xfermodes
mtklein [Wed, 22 Jul 2015 17:52:53 +0000 (10:52 -0700)]
565 support for SIMD xfermodes

This uses the most basic approach possible:
  - to load an Sk4px from 565, convert to SkPMColors on the stack serially then load those SkPMColors.
  - to store an Sk4px to 565, store to SkPMColors on the stack then convert to 565 serially.

Clearly, we can optimize these loads and stores.  That's a TODO.

The code using SkPMFloat is the same idea but a little more long-term viable, as we're only operating on one pixel at a time anyway.  We could probably write 565 <-> SkPMFloat methods, but I'd rather not until it's really compelling.

The speedups are varied but similar across SSE and NEON: a few uninteresting, many 50% faster, some 2x faster, and SoftLight ~4x faster.

This will cause minor GM diffs, but I don't think any layout test changes.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/942930dcaa51f66d82cdaf46ae62efebd16c8cd0

Committed: https://skia.googlesource.com/skia/+/860dcaa2ddfdadc050af4f943a84a9d499315066

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

8 years agoAdd drawImage{Rect,} support to SkDebugCanvas
fmalita [Wed, 22 Jul 2015 17:23:01 +0000 (10:23 -0700)]
Add drawImage{Rect,} support to SkDebugCanvas

R=robertphillips@google.com,mtklein@google.com

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

8 years agoMoved GrGLFragmentProcessor definition to its own file
wangyix [Wed, 22 Jul 2015 17:21:17 +0000 (10:21 -0700)]
Moved GrGLFragmentProcessor definition to its own file

BUG=skia:

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

8 years agoRemove some redundant fields from BitmapTextBatch (and rename to TextBatch).
bsalomon [Wed, 22 Jul 2015 17:17:26 +0000 (10:17 -0700)]
Remove some redundant fields from BitmapTextBatch (and rename to TextBatch).

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

8 years agoskia: GrGLAssembleGLInterface update load chromium extension functions
hendrikw [Wed, 22 Jul 2015 16:30:08 +0000 (09:30 -0700)]
skia: GrGLAssembleGLInterface update load chromium extension functions

Command buffer will expose GL_CHROMIUM_framebuffer_multisample and
GL_CHROMIUM_map_sub, added support for these to enable interface
validation to succeed.

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

8 years agoFix Android framework build
msarett [Wed, 22 Jul 2015 16:08:28 +0000 (09:08 -0700)]
Fix Android framework build

The Android framework was failing on conditions in
libjpeg-turbo.gyp, even though libjpeg-turbo is listed
in dependencies! for the framework (maybe because I
forgot to add export_dependent_settings!).  This is fixed
by rearranging the gyp file.

BUG=skia:

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

8 years agoFix tile drop-out on S4 for texture decal mode.
jvanverth [Wed, 22 Jul 2015 15:41:51 +0000 (08:41 -0700)]
Fix tile drop-out on S4 for texture decal mode.

Switch to use highp on interpolants.
Also removes some unnecessary formatting.

BUG=skia:3381

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

8 years agoCoverage: add a trace for not_covered_lines per file
borenet [Wed, 22 Jul 2015 15:19:25 +0000 (08:19 -0700)]
Coverage: add a trace for not_covered_lines per file

Example output:

{
    "build_number": "2",
    "gitHash": "71f5db892ee7ed9fbb573da28ccb906e18ba24a4",
    "key": {
        "arch": "x86_64",
        "compiler": "Clang",
        "configuration": "Coverage",
        "cpu_or_gpu": "CPU",
        "cpu_or_gpu_value": "AVX2",
        "model": "GCE",
        "os": "Ubuntu"
    },
    "results": {
        "dm_DMGpuSupport_h": {
            "coverage": {
                "lines_not_covered": 6,
                "options": {
                    "dir": "dm",
                    "fullname": "dm/DMGpuSupport.h",
                    "source_type": "coverage"
                },
                "percent": 33.33333333333333
            }
        },
        "dm_DMJsonWriter_cpp": {
......

BUG=skia:2430

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

8 years agoAdd the ability to decode a subset to SkCodec
scroggo [Wed, 22 Jul 2015 14:16:20 +0000 (07:16 -0700)]
Add the ability to decode a subset to SkCodec

This allows codecs that support subsets natively (i.e. WEBP) to do so.

Add a field on SkCodec::Options representing the subset.

Add a method on SkCodec to find a valid subset which approximately
matches a desired subset.

Implement subset decodes in SkWebpCodec.

Add a test in DM for decoding subsets.
Notice that we only start on even boundaries. This is due to the
way libwebp's API works. SkWEBPImageDecoder does not take this into
account, which results in visual artifacts.

FIXME: Subsets with scaling are not pixel identical, but close. (This
may be fine, though - they are not perceptually different. We'll just
need to mark another set of images in gold as valid, once
https://skbug.com/4038 is fixed, so we can tests scaled webp without
generating new images on each run.)

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

8 years agoFix SkCanvas::wouldOverwriteEntireSurface() contains test
fmalita [Wed, 22 Jul 2015 12:56:16 +0000 (05:56 -0700)]
Fix SkCanvas::wouldOverwriteEntireSurface() contains test

R=reed@google.com,robertphillips@google.com,bsalomon@google.com

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

8 years agoFix CQ keyword and add more detail
rmistry [Wed, 22 Jul 2015 11:29:38 +0000 (04:29 -0700)]
Fix CQ keyword and add more detail

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1246393002
TBR=jcgregorio

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

8 years agoRevert of 565 support for SIMD xfermodes (patchset #4 id:60001 of https://codereview...
mtklein [Wed, 22 Jul 2015 01:34:42 +0000 (18:34 -0700)]
Revert of 565 support for SIMD xfermodes (patchset #4 id:60001 of https://codereview.chromium.org/1245673002/)

Reason for revert:
NEON 565 gold images have gone ugly.  This is what I get for writing and testing SSE and just writing NEON.

E.g. colortype_xfermodes, dstreadshuffle, bigbitmaprect, pictures, textbloblooper, aaxfermodes (only Plus)

Original issue's description:
> 565 support for SIMD xfermodes
>
> This uses the most basic approach possible:
>   - to load an Sk4px from 565, convert to SkPMColors on the stack serially then load those SkPMColors.
>   - to store an Sk4px to 565, store to SkPMColors on the stack then convert to 565 serially.
>
> Clearly, we can optimize these loads and stores.  That's a TODO.
>
> The code using SkPMFloat is the same idea but a little more long-term viable, as we're only operating on one pixel at a time anyway.  We could probably write 565 <-> SkPMFloat methods, but I'd rather not until it's really compelling.
>
> The speedups are varied but similar across SSE and NEON: a few uninteresting, many 50% faster, some 2x faster, and SoftLight ~4x faster.
>
> This will cause minor GM diffs, but I don't think any layout test changes.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/942930dcaa51f66d82cdaf46ae62efebd16c8cd0
>
> Committed: https://skia.googlesource.com/skia/+/860dcaa2ddfdadc050af4f943a84a9d499315066

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

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

8 years ago565 support for SIMD xfermodes
mtklein [Wed, 22 Jul 2015 00:23:39 +0000 (17:23 -0700)]
565 support for SIMD xfermodes

This uses the most basic approach possible:
  - to load an Sk4px from 565, convert to SkPMColors on the stack serially then load those SkPMColors.
  - to store an Sk4px to 565, store to SkPMColors on the stack then convert to 565 serially.

Clearly, we can optimize these loads and stores.  That's a TODO.

The code using SkPMFloat is the same idea but a little more long-term viable, as we're only operating on one pixel at a time anyway.  We could probably write 565 <-> SkPMFloat methods, but I'd rather not until it's really compelling.

The speedups are varied but similar across SSE and NEON: a few uninteresting, many 50% faster, some 2x faster, and SoftLight ~4x faster.

This will cause minor GM diffs, but I don't think any layout test changes.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/942930dcaa51f66d82cdaf46ae62efebd16c8cd0

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

8 years agoChange the GlyphCache to use a hash table instead of doing its own ad-hoc
herb [Tue, 21 Jul 2015 22:36:25 +0000 (15:36 -0700)]
Change the GlyphCache to use a hash table instead of doing its own ad-hoc
hashing. This change appears to be performance neutral.
BUG=skia:

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

8 years agoANGLE deps roll
hendrikw [Tue, 21 Jul 2015 21:50:07 +0000 (14:50 -0700)]
ANGLE deps roll

If we ever want to allow the command buffer as a skia gles2 backend,
we need a more up to date version of ANGLE, specifically there are
4 defines that differ between newer and older versions of ANGLE which
we use in skia, I've updated these in this change.

I'm not quite sure if what I've done for the 'angle_path' is correct,
I tried setting it to a path relative to skia, and to '<(DEPTH)', both
of which do not compile correctly, only '../' worked.

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

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

8 years agoCompile with VS2015.
bungeman [Tue, 21 Jul 2015 21:14:30 +0000 (14:14 -0700)]
Compile with VS2015.

Visual Studio 2015 has additional warnings around noexcept and
disabling exceptions, which can be worked around with the
(undocumented) _HAS_EXCEPTIONS macro.

Visual Studio 2013 and 2015 have roundf in math.h, so use it to
avoid extra work and casts.

We avoid using cmath, as it undefs isfinite on gcc, but Visual Studio
2015 no longer provides overloads of copysign from math.h (which is
actually correct). As a result, use copysignf (which is available in
math.h in 2013 and 2015) directly.

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

8 years agoRevert of Bilinear optimization for 1D convolution. (patchset #5 id:200001 of https...
ericrk [Tue, 21 Jul 2015 21:06:16 +0000 (14:06 -0700)]
Revert of Bilinear optimization for 1D convolution. (patchset #5 id:200001 of https://codereview.chromium.org/1216623003/)

Reason for revert:
Ok, I am now seeing a couple issues. going to revert and investigate further.

Original issue's description:
> Bilinear optimization for 1D convolution.
>
> Splits GrGLConvolutionEffect into GrGLBilerpConvolutionEffect and
> GrGLBoundedConvolutionEffect. When doing a non-bounded convolution we now
> always use the GrGLBilerpConvolutionEffect which uses bilinear filtering to
> perform half as many samples in the texture.
>
> BUG=skia:3986
>
> Committed: https://skia.googlesource.com/skia/+/91abe10af417148939548551e210c001022d3bda
>
> Committed: https://skia.googlesource.com/skia/+/0f38612b0facf585854aba4556433b858cbf7da8

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

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

8 years agoRevert of skia: ANGLE deps roll (patchset #1 id:1 of https://codereview.chromium...
hendrikw [Tue, 21 Jul 2015 21:06:10 +0000 (14:06 -0700)]
Revert of skia: ANGLE deps roll (patchset #1 id:1 of https://codereview.chromium.org/1244843003/)

Reason for revert:
Compile error that the try bots didn't catch :(

Original issue's description:
> ANGLE deps roll
>
> If we ever want to allow the command buffer as a skia gles2 backend,
> we need a more up to date version of ANGLE, specifically there are
> 4 defines that differ between newer and older versions of ANGLE which
> we use in skia, I've updated these in this change.
>
> I'm not quite sure if what I've done for the 'angle_path' is correct,
> I tried setting it to a path relative to skia, and to '<(DEPTH)', both
> of which do not compile correctly, only '../' worked.
>
> Committed: https://skia.googlesource.com/skia/+/db0b1e796ddbd08e6be8a666537318b1c0e2ce56

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

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

8 years agoANGLE deps roll
hendrikw [Tue, 21 Jul 2015 20:18:27 +0000 (13:18 -0700)]
ANGLE deps roll

If we ever want to allow the command buffer as a skia gles2 backend,
we need a more up to date version of ANGLE, specifically there are
4 defines that differ between newer and older versions of ANGLE which
we use in skia, I've updated these in this change.

I'm not quite sure if what I've done for the 'angle_path' is correct,
I tried setting it to a path relative to skia, and to '<(DEPTH)', both
of which do not compile correctly, only '../' worked.

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

8 years agoBilinear optimization for 1D convolution.
ericrk [Tue, 21 Jul 2015 20:15:47 +0000 (13:15 -0700)]
Bilinear optimization for 1D convolution.

Splits GrGLConvolutionEffect into GrGLBilerpConvolutionEffect and
GrGLBoundedConvolutionEffect. When doing a non-bounded convolution we now
always use the GrGLBilerpConvolutionEffect which uses bilinear filtering to
perform half as many samples in the texture.

BUG=skia:3986

Committed: https://skia.googlesource.com/skia/+/91abe10af417148939548551e210c001022d3bda

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

8 years agomake mixedtextblobs gm portable
caryclark [Tue, 21 Jul 2015 20:11:26 +0000 (13:11 -0700)]
make mixedtextblobs gm portable

TBR=reed@google.com

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

8 years agoClean up more SkXfermode.cpp dead code.
mtklein [Tue, 21 Jul 2015 20:10:43 +0000 (13:10 -0700)]
Clean up more SkXfermode.cpp dead code.

These handwritten xfermodes for Clear, Src, DstIn, and DstOut are actually dead
code: they're all covered by Sk4pxXfermode, which we'd already have returned.

Tidies up the xfermode creation logic to make this clearer.

This cuts 20-40K off SkXfermode.o, depending on the platform.

BUG=skia:

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

8 years agoadding assert to GrAtlasTextContext
joshualitt [Tue, 21 Jul 2015 19:56:56 +0000 (12:56 -0700)]
adding assert to GrAtlasTextContext

TBR=bsalomon@google.com
BUG=skia:

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

8 years agoDe-templatize Sk4pxXfermode code a bit.
mtklein [Tue, 21 Jul 2015 19:39:57 +0000 (12:39 -0700)]
De-templatize Sk4pxXfermode code a bit.

This deduplicates a few pieces of code:
  - we end up with one copy of each xfer32() driver loop instead of one per xfermode;
  - we end up with two* copies of each xfermode implementation instead of ten**.

* For a given Mode: Mode() itself and xfer_aa<Mode>().
** From unrolling: twice at a stride of 8, once at 4, once at 2, and once at 1, then all again for when we have AA.

This decreases the size of SkXfermode.o from 1.5M to 620K on x86-64 and from 1.3M to 680K on ARMv7+NEON.

If we wanted to, we could eliminate the xfer_aa<Mode>() copy by tagging each Mode() function as __attribute__((noinline)) or its equivalent.  This would result in another ~100K space savings.

Performance is affected in proportion to the original xfermode speed:
fast modes like Plus take the largest proportional hit, and slow modes
like HardLight or SoftLight see essentially no hit at all.

This adds SK_VECTORCALL to help keep this code fast on ARMv7 and Windows.  I've looked at the ARMv7 generated code... it looks good, even pretty.

For compatibility with SK_VECTORCALL, we now pass the vector-sized arguments by value instead of by reference.  Some refactoring now allows us to declare each mode as just a static function instead of a struct, which simplifies things.

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

BUG=skia:

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

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Arm7-Debug-Android_NoNeon-Trybot

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

8 years agomake color emoji gm portable
caryclark [Tue, 21 Jul 2015 19:27:36 +0000 (12:27 -0700)]
make color emoji gm portable

R=bungeman@google.com

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

8 years agoRevert of De-templatize Sk4pxXfermode code a bit. (patchset #2 id:20001 of https...
mtklein [Tue, 21 Jul 2015 19:08:41 +0000 (12:08 -0700)]
Revert of De-templatize Sk4pxXfermode code a bit. (patchset #2 id:20001 of https://codereview.chromium.org/1242743004/)

Reason for revert:
http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-Arm7-Debug-Android_NoNeon/builds/1168/steps/build%20most/logs/stdio

Original issue's description:
> De-templatize Sk4pxXfermode code a bit.
>
> This deduplicates a few pieces of code:
>   - we end up with one copy of each xfer32() driver loop instead of one per xfermode;
>   - we end up with two* copies of each xfermode implementation instead of ten**.
>
> * For a given Mode: Mode() itself and xfer_aa<Mode>().
> ** From unrolling: twice at a stride of 8, once at 4, once at 2, and once at 1, then all again for when we have AA.
>
> This decreases the size of SkXfermode.o from 1.5M to 620K on x86-64 and from 1.3M to 680K on ARMv7+NEON.
>
> If we wanted to, we could eliminate the xfer_aa<Mode>() copy by tagging each Mode() function as __attribute__((noinline)) or its equivalent.  This would result in another ~100K space savings.
>
> Performance is affected in proportion to the original xfermode speed:
> fast modes like Plus take the largest proportional hit, and slow modes
> like HardLight or SoftLight see essentially no hit at all.
>
> This adds SK_VECTORCALL to help keep this code fast on ARMv7 and Windows.  I've looked at the ARMv7 generated code... it looks good, even pretty.
>
> For compatibility with SK_VECTORCALL, we now pass the vector-sized arguments by value instead of by reference.  Some refactoring now allows us to declare each mode as just a static function instead of a struct, which simplifies things.
>
> TBR=reed@google.com
> No public API changes.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e617e1525916d7ee684142728c0905828caf49da

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

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

8 years agoPossible fix Moto E compilation failure
robertphillips [Tue, 21 Jul 2015 19:06:52 +0000 (12:06 -0700)]
Possible fix Moto E compilation failure

It appears that the Adreno compiler is even more twitchy about gl_FragCoord handling than expected.

BUG=skia:4078

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

8 years agoDe-templatize Sk4pxXfermode code a bit.
mtklein [Tue, 21 Jul 2015 19:03:37 +0000 (12:03 -0700)]
De-templatize Sk4pxXfermode code a bit.

This deduplicates a few pieces of code:
  - we end up with one copy of each xfer32() driver loop instead of one per xfermode;
  - we end up with two* copies of each xfermode implementation instead of ten**.

* For a given Mode: Mode() itself and xfer_aa<Mode>().
** From unrolling: twice at a stride of 8, once at 4, once at 2, and once at 1, then all again for when we have AA.

This decreases the size of SkXfermode.o from 1.5M to 620K on x86-64 and from 1.3M to 680K on ARMv7+NEON.

If we wanted to, we could eliminate the xfer_aa<Mode>() copy by tagging each Mode() function as __attribute__((noinline)) or its equivalent.  This would result in another ~100K space savings.

Performance is affected in proportion to the original xfermode speed:
fast modes like Plus take the largest proportional hit, and slow modes
like HardLight or SoftLight see essentially no hit at all.

This adds SK_VECTORCALL to help keep this code fast on ARMv7 and Windows.  I've looked at the ARMv7 generated code... it looks good, even pretty.

For compatibility with SK_VECTORCALL, we now pass the vector-sized arguments by value instead of by reference.  Some refactoring now allows us to declare each mode as just a static function instead of a struct, which simplifies things.

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

BUG=skia:

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

8 years agoReenable yasm for Android x86 and x86-64 on Linux host
msarett [Tue, 21 Jul 2015 19:01:48 +0000 (12:01 -0700)]
Reenable yasm for Android x86 and x86-64 on Linux host

It turns out that gyp (kind of) has support for cross
compiling with a different host and target.  We simply
need to specify CC_host and CC_target instead of CC.

Making this change allows us to compile yasm on a Linux
host for Android.

We run into problems on Mac because
the linker on a Mac host requires different command line
arguments than the linker on the Android target.  In
looking through the code for gyp itself and speaking to
Ben, it doesn't appear to me that gyp supports passing
different arguments to host and target linkers.

I would imagine that we would have similar problems on
Windows.

Below is a link to a CL that would fix this issue in gyp.
It looks like it has been dropped for a long time.
Thanks to Ben for this link!
https://chromiumcodereview.appspot.com/10795044/

Also I'm adding a link to the build instructions for Chrome
(thanks again Ben).  It looks like they only support
building for Android from Linux.
https://code.google.com/p/chromium/wiki/AndroidBuildInstructions

My next steps are:
1) Getting in touch with Torne or someone else with gyp to
see if people are aware of this issue or interested in
fixing it.
2) Deciding if skia should care about this issue.
3) Deciding if skia should work around this issue.

It'd be really great to hear your thoughts on (2) and (3).
My first thought is that we shouldn't care because, as
long as we always compile the production copy of skia for
Android on Linux, we will get the fast code.  Is this
a valid conclusion?  Is there a way to write Android apps
on Mac that accidentally use the slower code?

If we do care, there are workarounds:
For Mac, we can check in a yasm binary - it's a little
smaller than the one I am deleting in this CL :-/
For Windows, we *might* be able to use the yasm.exe binary
already in externals (we get this from DEPS because this is
how chromium uses yasm on Windows).
Are there other platforms that we care about?

Let me know what you think!

BUG=skia:4028
DOCS_PREVIEW= https://skia.org/?cl=1239333002

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

8 years agoAdd sanity check to GrAtlasTextBlob
joshualitt [Tue, 21 Jul 2015 18:39:34 +0000 (11:39 -0700)]
Add sanity check to GrAtlasTextBlob

BUG=skia:

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

8 years agoRemove SK_LEGACY_IMAGE_FILTER_CROP_RECT_EDGES code.
senorblanco [Tue, 21 Jul 2015 18:11:17 +0000 (11:11 -0700)]
Remove SK_LEGACY_IMAGE_FILTER_CROP_RECT_EDGES code.

This is no longer used in Chrome.

BUG=skia:4089

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

8 years agomake varied_text* gm portable
caryclark [Tue, 21 Jul 2015 16:15:53 +0000 (09:15 -0700)]
make varied_text* gm portable

TBR=reed@google.com

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

8 years agoRun noise shader separately in imagefiltersclipped
jvanverth [Tue, 21 Jul 2015 15:38:06 +0000 (08:38 -0700)]
Run noise shader separately in imagefiltersclipped

BUG=skia:4079

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

8 years agorename BitmapTextBlob and move it to its own file
joshualitt [Tue, 21 Jul 2015 15:05:03 +0000 (08:05 -0700)]
rename BitmapTextBlob and move it to its own file

BUG=skia:

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

8 years agomake xfermode* portable
caryclark [Tue, 21 Jul 2015 14:42:45 +0000 (07:42 -0700)]
make xfermode* portable

TBR=reed@google.com

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

8 years agoSkip imagefiltersclipped GM on Galaxy S4
borenet [Tue, 21 Jul 2015 12:57:22 +0000 (05:57 -0700)]
Skip imagefiltersclipped GM on Galaxy S4

BUG=skia:4079

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

8 years agoRevert of 565 support for SIMD xfermodes (patchset #3 id:40001 of https://codereview...
mtklein [Tue, 21 Jul 2015 12:02:40 +0000 (05:02 -0700)]
Revert of 565 support for SIMD xfermodes (patchset #3 id:40001 of https://codereview.chromium.org/1245673002/)

Reason for revert:
942930d (included in this roll) introduced a 140 kB sizes regression in
libskia.so. Please investigate and reland if this regression is necessary.

Original issue's description:
> 565 support for SIMD xfermodes
>
> This uses the most basic approach possible:
>   - to load an Sk4px from 565, convert to SkPMColors on the stack serially then load those SkPMColors.
>   - to store an Sk4px to 565, store to SkPMColors on the stack then convert to 565 serially.
>
> Clearly, we can optimize these loads and stores.  That's a TODO.
>
> The code using SkPMFloat is the same idea but a little more long-term viable, as we're only operating on one pixel at a time anyway.  We could probably write 565 <-> SkPMFloat methods, but I'd rather not until it's really compelling.
>
> The speedups are varied but similar across SSE and NEON: a few uninteresting, many 50% faster, some 2x faster, and SoftLight ~4x faster.
>
> This will cause minor GM diffs, but I don't think any layout test changes.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/942930dcaa51f66d82cdaf46ae62efebd16c8cd0

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

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

8 years agoAdd Rec709 YUV color space support to GrYUVtoRGBEffect.
rileya [Mon, 20 Jul 2015 22:00:03 +0000 (15:00 -0700)]
Add Rec709 YUV color space support to GrYUVtoRGBEffect.

This change is motivated by a recent switch in how chromium handles
<video> color spaces, making rec709 more commonly used. This will
allow video -> canvas copies to take the fast GPU path when we're using
709, just as we do with 601 and jpeg.

Chromium-side change: https://codereview.chromium.org/1236313002

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

8 years agoGenerate platform specific fontmgr gm.
caryclark [Mon, 20 Jul 2015 20:38:56 +0000 (13:38 -0700)]
Generate platform specific fontmgr gm.

The gm output on different font platforms is so different
that comparing images in Gold has little value. Separate the
images by appending platform information to the gm name to
group somewhat similar images together.

Note that this does not attempt to make sure that all images
generated by Gold are nearly pixel identical; it only reduces
the number of nonsensical comparisons.

R=bungeman@google.com

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

8 years agoremoving png_read_end from SkPngScanlineDecoder
emmaleer [Mon, 20 Jul 2015 20:38:44 +0000 (13:38 -0700)]
removing png_read_end from SkPngScanlineDecoder

BUG=skia:4041

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

9 years agomake stroketext textblob* texteffects tileimagefilter gm portable
caryclark [Mon, 20 Jul 2015 17:48:01 +0000 (10:48 -0700)]
make stroketext textblob* texteffects tileimagefilter gm portable

TBR=reed@google.com

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

9 years ago565 support for SIMD xfermodes
mtklein [Mon, 20 Jul 2015 17:35:30 +0000 (10:35 -0700)]
565 support for SIMD xfermodes

This uses the most basic approach possible:
  - to load an Sk4px from 565, convert to SkPMColors on the stack serially then load those SkPMColors.
  - to store an Sk4px to 565, store to SkPMColors on the stack then convert to 565 serially.

Clearly, we can optimize these loads and stores.  That's a TODO.

The code using SkPMFloat is the same idea but a little more long-term viable, as we're only operating on one pixel at a time anyway.  We could probably write 565 <-> SkPMFloat methods, but I'd rather not until it's really compelling.

The speedups are varied but similar across SSE and NEON: a few uninteresting, many 50% faster, some 2x faster, and SoftLight ~4x faster.

This will cause minor GM diffs, but I don't think any layout test changes.

BUG=skia:

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

9 years agoFix textureDomain/bleed prevention in msaa
robertphillips [Mon, 20 Jul 2015 17:22:29 +0000 (10:22 -0700)]
Fix textureDomain/bleed prevention in msaa

This updates Ganesh's bleed avoidance check to handle the case where the
sample location may be outside of the rect geometry but used because it
partially covers the pixel.

BUG=skia:4066

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

9 years agoSplit llvm_coverage_run into two scripts
borenet [Mon, 20 Jul 2015 16:43:36 +0000 (09:43 -0700)]
Split llvm_coverage_run into two scripts

... One for running to generate the coverage data, another to parse the data into various formats.

NOTRY=true
BUG=skia:2430

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

9 years agoClean up dead xfermode opts code.
mtklein [Mon, 20 Jul 2015 14:14:19 +0000 (07:14 -0700)]
Clean up dead xfermode opts code.

Now that SK_SUPPORT_LEGACY_XFERMODES is unused, tons of code becomes dead.

Nothing is needed in opts/ anymore for x86.
We still do runtime NEON detection, which just duplicates Sk4pxXfermode.

TBR=reed@google.com

BUG=skia:

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

9 years agoUpdate SKP version
skia.buildbots [Sun, 19 Jul 2015 07:19:11 +0000 (00:19 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS

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

9 years agoReland "SkPDF: Annotations are clipped by canvas clip stack."
wangxianzhu [Sat, 18 Jul 2015 00:23:15 +0000 (17:23 -0700)]
Reland "SkPDF: Annotations are clipped by canvas clip stack."

Original patch was created by halcanary@google.com, and was reverted
because it triggered crbug.com/503541.

This patch fixes a bug in the original patch about clip path
transformation.

> Also, remove some SkPDFDevice functions.
> Will fix this GM: http://crrev.com/1159273003
> BUG=skia:3872
> Review URL: https://codereview.chromium.org/1148263005

BUG=skia:3872
BUG=503514

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

9 years agomake drawbitmaprect lighting lumafilter matrixconvolution srcmode gm portable
caryclark [Fri, 17 Jul 2015 20:20:48 +0000 (13:20 -0700)]
make drawbitmaprect lighting lumafilter matrixconvolution srcmode gm portable

TBR=reed@google.com

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

9 years agoadding unit test for textblob cache / GrBatchAtlas
joshualitt [Fri, 17 Jul 2015 19:47:39 +0000 (12:47 -0700)]
adding unit test for textblob cache / GrBatchAtlas

BUG=skia:

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

9 years agomake arithmode bigtext colortype* degeneratesegments gm portable
caryclark [Fri, 17 Jul 2015 16:39:16 +0000 (09:39 -0700)]
make arithmode bigtext colortype* degeneratesegments gm portable

TBR=reed@google.com

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

9 years agoSome cleanups of VisualBench
joshualitt [Fri, 17 Jul 2015 16:09:23 +0000 (09:09 -0700)]
Some cleanups of VisualBench

BUG=skia:

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

9 years agollvm_coverage_build: Use CC and CXX variables by default
borenet [Fri, 17 Jul 2015 14:31:07 +0000 (07:31 -0700)]
llvm_coverage_build: Use CC and CXX variables by default

NOTRY=true
BUG=skia:2430

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

9 years agoReland of Add fast normalize for SkLightingImageFilter. (patchset #1 id:1 of https...
jvanverth [Fri, 17 Jul 2015 14:22:30 +0000 (07:22 -0700)]
Reland of Add fast normalize for SkLightingImageFilter. (patchset #1 id:1 of https://codereview.chromium.org/1244523002/)

Reason for revert:
Florin will rebaseline the images.

Original issue's description:
> Revert of Add fast normalize for SkLightingImageFilter. (patchset #2 id:20001 of https://codereview.chromium.org/1240023002/)
>
> Reason for revert:
> Speculative revert -- DEPS roll block on linux_blink_rel
>
> https://storage.googleapis.com/chromium-layout-test-archives/linux_blink_rel/71483/layout-test-results/results.html
>
> Original issue's description:
> > Add fast normalize for SkLightingImageFilter.
> >
> > The normalize routine in SkPoint3 is very robust. However, for simple
> > lighting cases we prefer speed over robustness. This fixes a perf
> > regression in smoothness.tough_filters_cases.
> >
> > BUG=chromium:510562
> >
> > Committed: https://skia.googlesource.com/skia/+/dfa0ecf169db87f7afddd93bc1c500de481a62c7
>
> TBR=reed@google.com,senorblanco@google.com,senorblanco@chromium.org,jvanverth@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:510562
>
> Committed: https://skia.googlesource.com/skia/+/ac66a8122b27c388cc74b3913d9a9be351a44e54

TBR=reed@google.com,senorblanco@google.com,senorblanco@chromium.org,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:510562

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

9 years agoRevert[2] of guard to remove DrawBitmapRectFlags
reed [Fri, 17 Jul 2015 14:09:43 +0000 (07:09 -0700)]
Revert[2] of guard to remove DrawBitmapRectFlags

This reverts commit 91110195a2eee170c11885da9d16f94b00a39f87.

BUG=skia:
TBR=

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

9 years agoAdd an entry in directory for BugChomper.
tfarina [Fri, 17 Jul 2015 14:07:25 +0000 (07:07 -0700)]
Add an entry in directory for BugChomper.

BUG=None
R=borenet@google.com
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1239803008

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