platform/upstream/libSkiaSharp.git
8 years agoFix repeat builds with Android.
bungeman [Fri, 31 Jul 2015 13:33:21 +0000 (06:33 -0700)]
Fix repeat builds with Android.

Currently the SampleApp and VisualBench builds for Android don't work
for rebuilds. The code is re-built, but the apks are not. This
results from the use of a directory as 'output' and the action to
build the apk not depending on the copied libraries.

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

8 years agoTweak the MaskFormat in one more place in GrBatchFontCache
joshualitt [Fri, 31 Jul 2015 12:51:45 +0000 (05:51 -0700)]
Tweak the MaskFormat in one more place in GrBatchFontCache

BUG=510931

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

8 years agoAddress some SkLightingShader TODOs
robertphillips [Fri, 31 Jul 2015 12:17:24 +0000 (05:17 -0700)]
Address some SkLightingShader TODOs

This CL:
  switches the light colors to be 3 scalars (SkColor3f)
  adds some dox

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

8 years agoAdd android_run_app.go
borenet [Fri, 31 Jul 2015 11:13:38 +0000 (04:13 -0700)]
Add android_run_app.go

Launches an app, pipes its output, and exits when the app exits.

Loosely based on the old buildbot code in python:
https://skia.googlesource.com/buildbot/+/ac0663c599a443a4958c8cad5aefd25eb09eff58/slave/skia_slave_scripts/utils/android_utils.py

BUG=skia:4093

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

8 years agoImplement support for dual source blending in ES
kkinnunen [Fri, 31 Jul 2015 05:47:04 +0000 (22:47 -0700)]
Implement support for dual source blending in ES

Use EXT_blend_func_extended to implement dual source blending in OpenGL
ES. The extension is the ES version of ARB_blend_func_extended.

The extension provides gl_SecondaryFragColorEXT for ES 2.0 contexts.
The extension provides glBindFragDataLocationIndexed to bind a custom
fragment shader output to the secondary color for ES 3.0 contexts.

For ES 3.1 contexts, the extension would also give
"layout (location=0, index=1)" output varible layout modifier syntax,
but it is not used in this patch.

The extension needs #extension GL_EXT_blend_func_extended : require
directive for the variables to be available in ES 2.0. For ES 3.0, the
directive relaxes the rules for the amount of output variables without
layout location qualifiers.

OpenGL continues to use GL_ARB_blend_func_extended for dual source
blending.

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

8 years agoMake it possible to toggle MSAA for ES (EXT_multisample_compatibility)
kkinnunen [Fri, 31 Jul 2015 05:43:52 +0000 (22:43 -0700)]
Make it possible to toggle MSAA for ES (EXT_multisample_compatibility)

Make it possible to turn MSAA on and off for OpenGL ES, too.
Use EXT_multisample_compatibility.

The extension adds token:
        MULTISAMPLE_EXT                             0x809D

The token can be supplied to glEnable/glDisable/glGetInteger.

This is needed in order to support mixed samples in OpenGL ES. This is
important for path rendering Chromium command buffer integration.

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

8 years agolock pixels in image when bitmap is immutable and not-lazy
reed [Fri, 31 Jul 2015 03:13:43 +0000 (20:13 -0700)]
lock pixels in image when bitmap is immutable and not-lazy

BUG=skia:

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

8 years agofix empty image constructor
reed [Fri, 31 Jul 2015 02:10:35 +0000 (19:10 -0700)]
fix empty image constructor

fBitmap was not fully constructed yet

BUG=skia:
TBR=

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

8 years agounify pixelref and image ID space, so we can share IDs when we share pixels
reed [Fri, 31 Jul 2015 01:58:23 +0000 (18:58 -0700)]
unify pixelref and image ID space, so we can share IDs when we share pixels

I view this as a performance opportunity, not a feature or bug fix per-se.

BUG=skia:

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

8 years agoDisable SRGB support on PowerVR Rogue due to SRGBReadWritePixels failure
bsalomon [Thu, 30 Jul 2015 23:27:50 +0000 (16:27 -0700)]
Disable SRGB support on PowerVR Rogue due to SRGBReadWritePixels failure

TBR=jvanverth@google.com
BUG=skia:4148

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

8 years agoMake TRecorder alloc_back return a void*
bsalomon [Thu, 30 Jul 2015 22:57:33 +0000 (15:57 -0700)]
Make TRecorder alloc_back return a void*

Speculative fix for this bug:

BUG=chromium:515679

TBR=robertphillips@google.com

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

8 years agoSRGB read and write pixels working and unit test
bsalomon [Thu, 30 Jul 2015 22:34:56 +0000 (15:34 -0700)]
SRGB read and write pixels working and unit test

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

8 years agofind image whenever we generateGlyph. This should ensure the glyph is fully initiali...
joshualitt [Thu, 30 Jul 2015 19:43:17 +0000 (12:43 -0700)]
find image whenever we generateGlyph.  This should ensure the glyph is fully initialized before we start using the maskformat.

BUG=skia:

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

8 years agolinear gradient with stops discretized gm
caryclark [Thu, 30 Jul 2015 19:35:48 +0000 (12:35 -0700)]
linear gradient with stops discretized gm

TBR=reed@google.com
BUG=skia:517

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

8 years agoMove some parts of onReadPixels up to GrGpu readPixels.
egdaniel [Thu, 30 Jul 2015 19:02:15 +0000 (12:02 -0700)]
Move some parts of onReadPixels up to GrGpu readPixels.

BUG=skia:

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

8 years agoRename SkCodec_libbmp to SkBmpCodec
msarett [Thu, 30 Jul 2015 18:36:40 +0000 (11:36 -0700)]
Rename SkCodec_libbmp to SkBmpCodec

BUG=skia:

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

8 years agoCall notifyPixelsChanged after modifying bitmap
scroggo [Thu, 30 Jul 2015 18:33:04 +0000 (11:33 -0700)]
Call notifyPixelsChanged after modifying bitmap

In CodecSrc's scanline_subset test, we decode a subset of an image to a
bitmap, draw it to the canvas, and then repeat. This is fine for most
backends, but not for pipe. Pipe sees the same generation ID, so it
assumes it is the same bitmap it saw before, and just draws the
original one.

Call notifyPixelsChanged, so the bitmap will get a new generation ID,
fixing pipe.

BUG=skia:4138

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

8 years agoBuild buckets: tryjob access
nodir [Thu, 30 Jul 2015 17:32:27 +0000 (10:32 -0700)]
Build buckets: tryjob access

Allowed project-skia-tryjob-access group to schedule builds on public
skia build buckets

R=borenet@chromium.org, rmistry@chromium.org
BUG=495680

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

8 years agoRevert character in typeface test on Android.
bungeman [Thu, 30 Jul 2015 17:31:57 +0000 (10:31 -0700)]
Revert character in typeface test on Android.

This is a partial revert of f20488b4f2, particularly
https://skia.googlesource.com/skia/+/f20488b4f2139e6ca09fee7e39b731dd8ab467db%5E%21/#F11

BUG=chromium:515366
TBR=mtklein@google.com
This is a (non-automatic) revert.

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

8 years agoMinor cleanup of SkLightingShader
robertphillips [Thu, 30 Jul 2015 17:11:42 +0000 (10:11 -0700)]
Minor cleanup of SkLightingShader

Fix:
  PM component swizzling on Macs
  Serialization

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

8 years agoRuntime CPU detection for rsqrt().
mtklein [Thu, 30 Jul 2015 16:29:37 +0000 (09:29 -0700)]
Runtime CPU detection for rsqrt().

This enables the NEON sk_float_rsqrt() code for configurations that have NEON at run-time but not compile-time.

These devices will see about a 2x (1.26 -> 2.33) slowdown in sk_float_rsqrt(), but it should be more precise than our portable fallback.

(When inlined, the portable fallback and the NEON code are almost identical in speed.  The only difference is precision.  Going through a function pointer is causing all this slowdown.  This is a good example of a place where Skia really benefits from compile-time NEON.)

BUG=skia:4117,skia:4114

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

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

8 years agoDont try to draw glyphs with unexpected mask formats
joshualitt [Thu, 30 Jul 2015 14:59:20 +0000 (07:59 -0700)]
Dont try to draw glyphs with unexpected mask formats

BUG=510931

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

8 years agoRemove SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
scroggo [Thu, 30 Jul 2015 14:47:45 +0000 (07:47 -0700)]
Remove SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS

Now that Chrome no longer depends on it, remove dead code.

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

8 years agoMake GrGpu read/write pixels take GrSurface
bsalomon [Thu, 30 Jul 2015 14:34:27 +0000 (07:34 -0700)]
Make GrGpu read/write pixels take GrSurface

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

8 years agoLay groundwork for SkOpts.
mtklein [Thu, 30 Jul 2015 14:30:16 +0000 (07:30 -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

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

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

8 years agobuildbot_spec: Add configuration, do_*_steps, upload_*_results, more env
borenet [Thu, 30 Jul 2015 14:09:20 +0000 (07:09 -0700)]
buildbot_spec: Add configuration, do_*_steps, upload_*_results, more env

NOTRY=true
BUG=skia:4132

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

8 years agoRevert of Optimize RGB16 blitH functions with NEON for ARM platform. (patchset #2...
mtklein [Thu, 30 Jul 2015 14:03:20 +0000 (07:03 -0700)]
Revert of Optimize RGB16 blitH functions with NEON for ARM platform. (patchset #2 id:20001 of https://codereview.chromium.org/1229673008/)

Reason for revert:
This doesn't draw correctly, e.g. our GM test named dashcubics.

Good: https://gold.skia.org/img/images/0f7e8e226379afbad8a700e0a80fd8f1.png

Bad:
https://gold.skia.org/img/images/56ce15fc67436065a3db4b8ee31f13ae.png

Original issue's description:
> Optimize RGB16 blitH functions with NEON for ARM platform.
>
> Here are some performance resultsi on Nexus 9:
> SkRGB16BlitterBlitH_neon:
>     +--------+-----------+
>     |height  |  C/NEON   |
>     +--------+-----------+
>     |1       | 0.888531  |
>     +--------+-----------+
>     |8       | 1.231800  |
>     +--------+-----------+
>     |18      | 1.073327  |
>     +--------+-----------+
>     |32      | 1.136991  |
>     +--------+-----------+
>     |76      | 1.174638  |
>     +--------+-----------+
>     |85      | 1.188551  |
>     +--------+-----------+
>     |120     | 1.180261  |
>     +--------+-----------+
>     |128     | 1.183726  |
>     +--------+-----------+
>     |512     | 1.220806  |
>     +--------+-----------+
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/6c72d5740231f47c664a8e765a8df05cd124c88c

TBR=djsollen@google.com,caryclark@google.com,reed@google.com,bero@linaro.com,yang.zhang@linaro.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

8 years agoadd radial gradient hard stop test
caryclark [Thu, 30 Jul 2015 13:41:39 +0000 (06:41 -0700)]
add radial gradient hard stop test

TBR=reed@google.com
BUG=skia:4140

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

8 years agoadd helper to create RSXform w/ anchorPt
reed [Thu, 30 Jul 2015 12:46:05 +0000 (05:46 -0700)]
add helper to create RSXform w/ anchorPt

BUG=skia:

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

8 years agoOptimize RGB16 blitH functions with NEON for ARM platform.
yang.zhang [Thu, 30 Jul 2015 12:37:06 +0000 (05:37 -0700)]
Optimize RGB16 blitH functions with NEON for ARM platform.

Here are some performance resultsi on Nexus 9:
SkRGB16BlitterBlitH_neon:
    +--------+-----------+
    |height  |  C/NEON   |
    +--------+-----------+
    |1       | 0.888531  |
    +--------+-----------+
    |8       | 1.231800  |
    +--------+-----------+
    |18      | 1.073327  |
    +--------+-----------+
    |32      | 1.136991  |
    +--------+-----------+
    |76      | 1.174638  |
    +--------+-----------+
    |85      | 1.188551  |
    +--------+-----------+
    |120     | 1.180261  |
    +--------+-----------+
    |128     | 1.183726  |
    +--------+-----------+
    |512     | 1.220806  |
    +--------+-----------+

BUG=skia:

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

8 years agoUpdate SkLightingShader to take a localMatrix
robertphillips [Thu, 30 Jul 2015 12:09:17 +0000 (05:09 -0700)]
Update SkLightingShader to take a localMatrix

W/o this we can't draw lit objects anywhere but the origin.

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

8 years agoRemove WEBKIT_VERSION_MIN_REQUIRED and config.h.
bungeman [Wed, 29 Jul 2015 21:46:12 +0000 (14:46 -0700)]
Remove WEBKIT_VERSION_MIN_REQUIRED and config.h.

WebKit style guide (https://www.webkit.org/coding/coding-style.html)
explicitly states:

> All implementation files must #include "config.h" first.
> Header files should never include "config.h".

Also, it isn't currently being used.

TBR=reed@google.com
This just removes unused bits.

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

8 years agoDouble free in ~SkPictureData()
fmalita [Wed, 29 Jul 2015 21:40:06 +0000 (14:40 -0700)]
Double free in ~SkPictureData()

On subpicture parsing failures we clean up all fPictureRefs entries
*and* delete the array itself.  But the destructor also deletes the
array => double free.

Alternatively, we can set fPictureCount to the number of successfully
parsed pictures such that the destructor handles all the cleanup.

BUG=515228
R=reed@google.com,mtklein@google.com

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

8 years agoRemove SK_BUILD_FOR SDL, BREW, and PALM.
bungeman [Wed, 29 Jul 2015 20:37:27 +0000 (13:37 -0700)]
Remove SK_BUILD_FOR SDL, BREW, and PALM.

SDL isn't an OS anyway, it's just a library views can use. Remaining
support for Brew was removed some time ago, and there are currently
no uses of SK_BUILD_FOR_PALM.

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

8 years agoMove the last headers. Cross your fingers.
mtklein [Wed, 29 Jul 2015 20:31:22 +0000 (13:31 -0700)]
Move the last headers.  Cross your fingers.

If this doesn't work, one at a time...

BUG=skia:4126

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

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

8 years agoMove non-trivial constructors out-of-line.
mtklein [Wed, 29 Jul 2015 20:14:05 +0000 (13:14 -0700)]
Move non-trivial constructors out-of-line.

There is more than one way to skin this SkPathPriv.h cat.

These constructors are large enough that they probably shouldn't have
been inlined like this anyway.

BUG=skia:4126

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

8 years agoremove (unnecessary?) call to notifyPixelsChanged
reed [Wed, 29 Jul 2015 19:44:52 +0000 (12:44 -0700)]
remove (unnecessary?) call to notifyPixelsChanged

BUG=skia:

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

8 years agoRemove SK_BUILD_FOR_WINCE.
bungeman [Wed, 29 Jul 2015 19:34:25 +0000 (12:34 -0700)]
Remove SK_BUILD_FOR_WINCE.

This hasn't been tested for years, and no one currently knows when it
last worked (if ever). It is doubtful that any of the remaining logic
would even make sense with a modern version of Embedded Compact 2013.

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

8 years agoMove LightingShader to effects
robertphillips [Wed, 29 Jul 2015 19:28:04 +0000 (12:28 -0700)]
Move LightingShader to effects

Additionally this CL:

forces the light colors to be opaque
forces the light direction to be normalized
adds a raster implementation
adds a gm

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

8 years agoClean up a few includes, introduce iwyu.
bungeman [Wed, 29 Jul 2015 18:49:40 +0000 (11:49 -0700)]
Clean up a few includes, introduce iwyu.

The current include-what-you-use with current clang is much less
noisy and more useful than it has been in the past. This change
introduces a few IWYU directives (which are helpful documentation for
humans as well) and fixes a few sets of includes.

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

8 years agoSkImage_Raster's pixels are always immutable.
reed [Wed, 29 Jul 2015 18:44:52 +0000 (11:44 -0700)]
SkImage_Raster's pixels are always immutable.

To make this work, we tag their pixelrefs as temporarily immutable, allowing
ourselves to restore the pixels to mutability only when the image drops away.

This should allow us to wobble back and forth between writing to the Surface
and reading from the Image without a COW, with the Surface seeing mutable
pixels and the Image seeing immutable pixels.

The big idea is, Image doesn't need forever-immutable pixels, it just needs
pixels that are immutable as long as it's alive.

BUG=skia:

patch from issue 804523002 at patchset 40001 (http://crrev.com/804523002#ps40001)

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

8 years agobuildbot_spec.py: Include dm_flags and nanobench_flags
borenet [Wed, 29 Jul 2015 18:43:07 +0000 (11:43 -0700)]
buildbot_spec.py: Include dm_flags and nanobench_flags

Eventually I'll want to merge them into this file, but not just yet.

NOTRY=true
BUG=skia:4132

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

8 years agobuildbot_spec.py: Add Android/ChromeOS device info, add builder_cfg dict
borenet [Wed, 29 Jul 2015 18:15:42 +0000 (11:15 -0700)]
buildbot_spec.py: Add Android/ChromeOS device info, add builder_cfg dict

NOTRY=true
BUG=skia:4132

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

8 years agoMove headers with no dependencies.
mtklein [Wed, 29 Jul 2015 18:10:46 +0000 (11:10 -0700)]
Move headers with no dependencies.

C.f.  https://codereview.chromium.org/1261013003/

BUG=skia:4126

Will follow up with two more CLs if this works:
  - one moving SkRecords.h
  - one moving SkMiniRecorder.h

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

Committed: https://skia.googlesource.com/skia/+/117842223bd13325b6da26110d80e0590c1a742b

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

8 years agoFix for GrAtlasTextContext crash
joshualitt [Wed, 29 Jul 2015 18:10:38 +0000 (11:10 -0700)]
Fix for GrAtlasTextContext crash

BUG=510931

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

8 years agoMake SkSwizzler::Fill() support 565
msarett [Wed, 29 Jul 2015 17:37:29 +0000 (10:37 -0700)]
Make SkSwizzler::Fill() support 565

BUG=skia:4135

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

8 years agoAdding debug SkScalerContext which returns random mask formats
joshualitt [Wed, 29 Jul 2015 17:14:58 +0000 (10:14 -0700)]
Adding debug SkScalerContext which returns random mask formats

TBR=reed@google.com
BUG=skia:

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

8 years agoRevert "Move headers with no dependencies."
Mike Klein [Wed, 29 Jul 2015 15:50:09 +0000 (11:50 -0400)]
Revert "Move headers with no dependencies."

This reverts commit 117842223bd13325b6da26110d80e0590c1a742b.

No good:
https://uberchromegw.corp.google.com/i/client.skia/builders/Mac%20Builder/builds/3465/steps/compile/logs/stdio

BUG=skia:4126

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

8 years agorewrite path.getBounds test to work-around compiler bug
reed [Wed, 29 Jul 2015 15:37:13 +0000 (08:37 -0700)]
rewrite path.getBounds test to work-around compiler bug

BUG=skia:
TBR=

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

8 years agoMove headers with no dependencies.
mtklein [Wed, 29 Jul 2015 15:18:34 +0000 (08:18 -0700)]
Move headers with no dependencies.

C.f.  https://codereview.chromium.org/1261013003/

BUG=skia:4126

Will follow up with two more CLs if this works:
  - one moving SkRecords.h
  - one moving SkMiniRecorder.h

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

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

8 years agoupdate C++11 docs
mtklein [Wed, 29 Jul 2015 14:49:40 +0000 (07:49 -0700)]
update C++11 docs

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/dev/contrib/c++11?cl=1263793002

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

8 years agoAdd builder_spec.py
borenet [Wed, 29 Jul 2015 14:38:49 +0000 (07:38 -0700)]
Add builder_spec.py

Works like dm_flags.py and nanobench_flags.py; adds things like
GYP_DEFINES, additional environment variables, and build targets.

Required copying builder_name_schema from the tools/build repo.

BUG=skia:4132

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

8 years agofix dstreadshuffle text portable gm
caryclark [Wed, 29 Jul 2015 13:58:40 +0000 (06:58 -0700)]
fix dstreadshuffle text portable gm

TBR=reed@google.com

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

8 years agoFix silly mistake in allocating geoms in TextBatch
bsalomon [Wed, 29 Jul 2015 13:54:33 +0000 (06:54 -0700)]
Fix silly mistake in allocating geoms in TextBatch

TBR=joshualitt@google.com

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

8 years agoAllow Srcs to veto Sinks based on their broad type.
mtklein [Wed, 29 Jul 2015 13:37:28 +0000 (06:37 -0700)]
Allow Srcs to veto Sinks based on their broad type.

This breaks Sinks down into three auto-detected types:
  - GPU:    anything that requests to be run in the GPU enclave
  - Vector: anything that writes to the stream instead of the bitmap
  - Raster: everything else

Some examples: gpu -> GPU, msaa16 -> GPU, 8888 -> raster, pdf -> vector,
               svg -> vector, pipe-8888 -> raster, tiles_rt-gpu -> GPU

This lets image decoding sinks veto non-raster backends explicitly,
and can let particular GMs veto GPU or non-GPU sinks as they like.

BUG=skia:

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

8 years agoSkip temp texture when config conversion test has already failed.
bsalomon [Wed, 29 Jul 2015 13:08:46 +0000 (06:08 -0700)]
Skip temp texture when config conversion test has already failed.

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

8 years agomake tests portable by using 565 compatible colors
caryclark [Wed, 29 Jul 2015 12:27:47 +0000 (05:27 -0700)]
make tests portable by using 565 compatible colors

TBR=reed@google.com

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

8 years agoDon't read from unref'ed RT in GrContext::readSurfacePixels
bsalomon [Tue, 28 Jul 2015 22:39:45 +0000 (15:39 -0700)]
Don't read from unref'ed RT in GrContext::readSurfacePixels

BUG=chromium:514716

TBR=robertphillips@google.com

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

8 years agoMove draw on upload decision in GrGpu
bsalomon [Tue, 28 Jul 2015 20:26:15 +0000 (13:26 -0700)]
Move draw on upload decision in GrGpu

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e

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

8 years agoRevert "Move the rest of src headers used by include to include/private."
Mike Klein [Tue, 28 Jul 2015 20:01:24 +0000 (16:01 -0400)]
Revert "Move the rest of src headers used by include to include/private."

This reverts commit d12e6ffa5cc1c1af47bf73c7c127d8d7f7443058.

Our Chrome roll canaries are failing with the dreaded
Ninja-says-there's-more-work-to-do message.  I will break this up
smaller (if possible) and try again tomorrow.

BUG=skia:4126

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

8 years agoRevert of Move draw on upload decision in GrGpu (patchset #4 id:50001 of https:/...
bsalomon [Tue, 28 Jul 2015 19:23:26 +0000 (12:23 -0700)]
Revert of Move draw on upload decision in GrGpu (patchset #4 id:50001 of https://codereview.chromium.org/1257073003/)

Reason for revert:
breaking write pixels test on bots

Original issue's description:
> Move draw on upload decision in GrGpu
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e

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

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

8 years agogm missed portable text in textblobshader
caryclark [Tue, 28 Jul 2015 18:55:49 +0000 (11:55 -0700)]
gm missed portable text in textblobshader

TBR=reed@google.com

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

8 years agoMove the rest of src headers used by include to include/private.
mtklein [Tue, 28 Jul 2015 18:51:50 +0000 (11:51 -0700)]
Move the rest of src headers used by include to include/private.

$ git grep "../../src/" | grep include

now returns nothing.

BUG=skia:4126

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

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

8 years agoRemoved GrFragmentProcessor::fWillUseInputColor
wangyix [Tue, 28 Jul 2015 18:47:44 +0000 (11:47 -0700)]
Removed GrFragmentProcessor::fWillUseInputColor

TBR=bsalomon@google.com
BUG=skia:

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

8 years agogm fix missed portable gm text in samplerstress
caryclark [Tue, 28 Jul 2015 18:22:48 +0000 (11:22 -0700)]
gm fix missed portable gm text in samplerstress

TBR=reed@google.com

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

8 years agomake pixelsnap textblob* etc gm portable
caryclark [Tue, 28 Jul 2015 17:37:53 +0000 (10:37 -0700)]
make pixelsnap textblob* etc gm portable

TBR=reed@google.com

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

8 years agoChange GrDefaultGeoProcFactory to a namespace
joshualitt [Tue, 28 Jul 2015 17:20:08 +0000 (10:20 -0700)]
Change GrDefaultGeoProcFactory to a namespace

BUG=skia:

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

8 years agoCleanup GrDefaultGeoProcFactory localCoords
joshualitt [Tue, 28 Jul 2015 17:01:18 +0000 (10:01 -0700)]
Cleanup GrDefaultGeoProcFactory localCoords

TBR=bsalomon@google.com
BUG=skia:

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

8 years agoRename GrInOrderDrawBuffer to GrBufferedDrawTarget
joshualitt [Tue, 28 Jul 2015 16:58:39 +0000 (09:58 -0700)]
Rename GrInOrderDrawBuffer to GrBufferedDrawTarget

BUG=skia:

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

8 years agoMove SkTHash.h to include/private.
mtklein [Tue, 28 Jul 2015 16:54:52 +0000 (09:54 -0700)]
Move SkTHash.h to include/private.

include/views/SkOSWindow_Win.h includes it.

To move SkTHash.h to include/private, SkChecksum.h needs to go there too.  To move SkChecksum.h to include/private, SkTLogic needs to go there too.

This adds a bunch of -Iinclude/private to tools.gyp I missed in the last CL.

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

BUG=skia:4126

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

8 years agoFix a stray -Winconsistent-missing-override warning.
mtklein [Tue, 28 Jul 2015 16:35:19 +0000 (09:35 -0700)]
Fix a stray -Winconsistent-missing-override warning.

TBR=

BUG=skia:

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

8 years agoMove draw on upload decision in GrGpu
bsalomon [Tue, 28 Jul 2015 16:13:47 +0000 (09:13 -0700)]
Move draw on upload decision in GrGpu

BUG=skia:

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

8 years agoadd -Iinclude/private anywhere we have -Isrc/core
mtklein [Tue, 28 Jul 2015 15:55:14 +0000 (08:55 -0700)]
add -Iinclude/private anywhere we have -Isrc/core

I'll be moving headers from src/core to include/private, so this guarantees
that anyone who was finding them via -Isrc/core can now find them via
-Iinclude/private.

This is purely mechanical, mostly to preserve my sanity, so it's likely
(harmless) overkill.

Chromium's GYP and GN builds already set -Iinclude/private for Skia builds.

BUG=skia:4126

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

8 years agoupdate presubmit to know about include/private
mtklein [Tue, 28 Jul 2015 15:54:12 +0000 (08:54 -0700)]
update presubmit to know about include/private

BUG=skia:4126

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

8 years agoremove all guards for changes to drawBitmapRect / drawImageRect
reed [Tue, 28 Jul 2015 14:35:14 +0000 (07:35 -0700)]
remove all guards for changes to drawBitmapRect / drawImageRect

BUG=skia:

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

8 years agochange getBounds to return 0000 iff there are zero points
reed [Tue, 28 Jul 2015 13:00:50 +0000 (06:00 -0700)]
change getBounds to return 0000 iff there are zero points

This is a contract change for SkPath::getBounds(), which formally was defined to return 0,0,0,0 for a 1-point path, regardless of the coordinates of that point. This seems wacky/inconsistent, and was causing other bugs (incorrect bounds) when this was unioned with other rects.

Does anyone remember why we defined it this way?

BUG=513799

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

8 years agoFix android_launch_app after Gradle change
borenet [Tue, 28 Jul 2015 13:00:36 +0000 (06:00 -0700)]
Fix android_launch_app after Gradle change

NOTRY=true
TBR=djsollen
BUG=skia:

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

8 years agoandroid_install_app: Use lower-cased app name
borenet [Tue, 28 Jul 2015 12:13:41 +0000 (05:13 -0700)]
android_install_app: Use lower-cased app name

NOTRY=true
BUG=skia:

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

8 years agocompute split conic endpoints exactly
caryclark [Tue, 28 Jul 2015 12:12:19 +0000 (05:12 -0700)]
compute split conic endpoints exactly

The divide by w can generate slightly erroneous results even
for t == 0 or t == 1. The error in turn defeats detecting
a point in common for a pair of curves that travel in
opposite directions.

Instead, special case endpoints when the t is 0 or 1.

TBR=reed@google.com
BUG=514118

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

8 years agoPass the destination pointer to next() in SkSwizzler
msarett [Mon, 27 Jul 2015 22:13:17 +0000 (15:13 -0700)]
Pass the destination pointer to next() in SkSwizzler

Per our discussion, we can make the swizzler simpler and more usable
for SkCodec and SkScanlineDecoder by only having a single version of
next() which takes a pointer to the srcRow and a pointer to the
dstRow.

BUG=skia:

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

8 years agodocumentation: more API details and examples.
halcanary [Mon, 27 Jul 2015 20:13:03 +0000 (13:13 -0700)]
documentation: more API details and examples.

NOTRY=true
DOCS_PREVIEW= https://skia.org/user/api/skpaint?cl=1240893003

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

8 years agoFixing src rect constraint support for drawImage with SkPicture
junov [Mon, 27 Jul 2015 20:11:55 +0000 (13:11 -0700)]
Fixing src rect constraint support for drawImage with SkPicture

Follow-up to https://codereview.chromium.org/1228083004

BUG=skia:

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

8 years agoremove pixel assert from ctable validator
reed [Mon, 27 Jul 2015 19:19:16 +0000 (12:19 -0700)]
remove pixel assert from ctable validator

BUG=514143

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

8 years agoCleanup Default Geo Proc API
joshualitt [Mon, 27 Jul 2015 19:13:14 +0000 (12:13 -0700)]
Cleanup Default Geo Proc API

TBR=bsalomon@google.com
BUG=skia:

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

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