platform/upstream/libSkiaSharp.git
8 years agoMove VisualBench_APK and SampleApp_APK to "everything" target
borenet [Mon, 16 May 2016 17:38:51 +0000 (10:38 -0700)]
Move VisualBench_APK and SampleApp_APK to "everything" target

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1986433002

Review-Url: https://codereview.chromium.org/1986433002

8 years agoAdd isUnifiedMultisampled entry point to GrDrawContext
robertphillips [Mon, 16 May 2016 16:50:03 +0000 (09:50 -0700)]
Add isUnifiedMultisampled entry point to GrDrawContext

GrRenderTargetProxy supports the isUnifiedMultisampled call so GrDrawContext will be able to support it even when GrRenderTargetProxy-backed.

This is split out of: https://codereview.chromium.org/1930013002/ ((Mostly) Retract GrRenderTarget from SkGpuDevice)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1982583002

Review-Url: https://codereview.chromium.org/1982583002

8 years agoChange to sRGB default for codec generated images.
herb [Mon, 16 May 2016 16:43:54 +0000 (09:43 -0700)]
Change to sRGB default for codec generated images.

Compared the gm and skps for 8888 and srgb. There are no differences for 8888, there are 100 differences for sRGB, but the 100 look correct compared to the old ones.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955063002

Review-Url: https://codereview.chromium.org/1955063002

8 years agoMake blurcircles2 run as a benchmark.
bsalomon [Mon, 16 May 2016 16:36:44 +0000 (09:36 -0700)]
Make blurcircles2 run as a benchmark.

In bench mode it does not draw the comparison paths (or line separators). It also randomly perturbs the blur and circle radii to avoid trivially hitting the same cache entries and each repetition.

BUG=skia:5224
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1985713002

Review-Url: https://codereview.chromium.org/1985713002

8 years agoRecognize Adobe RGB profiles
msarett [Mon, 16 May 2016 16:23:42 +0000 (09:23 -0700)]
Recognize Adobe RGB profiles

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971203002

Review-Url: https://codereview.chromium.org/1971203002

8 years agoRename GrDrawingMgr::abandon to wasAbandoned & add a matching entry point to GrDrawin...
robertphillips [Mon, 16 May 2016 16:14:53 +0000 (09:14 -0700)]
Rename GrDrawingMgr::abandon to wasAbandoned & add a matching entry point to GrDrawingContext

Since GrDrawingContext is generally replacing GrRenderTarget, this is to provide functionality similar to GrRenderTarget::wasDestroyed.

This is split out of https://codereview.chromium.org/1930013002/ ((Mostly) Retract GrRenderTarget from SkGpuDevice)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1979913002

Review-Url: https://codereview.chromium.org/1979913002

8 years agoRun GM benchs in bench mode
bsalomon [Mon, 16 May 2016 16:09:18 +0000 (09:09 -0700)]
Run GM benchs in bench mode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978253002

Review-Url: https://codereview.chromium.org/1978253002

8 years agoOnly run kStripe_Mode on JPEGs
scroggo [Mon, 16 May 2016 16:04:18 +0000 (09:04 -0700)]
Only run kStripe_Mode on JPEGs

It was designed to test code in libjpeg-turbo. Skipping scanlines is
tested more generally in other tests.

BUG=skia:5307
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978013002

Review-Url: https://codereview.chromium.org/1978013002

8 years agoDrop AndroidCodecSrc::kDivisor_Mode
scroggo [Mon, 16 May 2016 16:04:13 +0000 (09:04 -0700)]
Drop AndroidCodecSrc::kDivisor_Mode

This is redundant with BRD tests.

BUG=skia:5307
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1976303002

Review-Url: https://codereview.chromium.org/1976303002

8 years agoRetract GrRenderTarget from AlphaClipMask code
robertphillips [Sun, 15 May 2016 14:53:35 +0000 (07:53 -0700)]
Retract GrRenderTarget from AlphaClipMask code

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977793004

Committed: https://skia.googlesource.com/skia/+/93bc24e8b09b5ad7498ce9bc9a6519c7a43dbc9d

Review-Url: https://codereview.chromium.org/1977793004

8 years agoUpdate SKP version
update-skps [Sun, 15 May 2016 07:41:23 +0000 (00:41 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1979893002

Review-Url: https://codereview.chromium.org/1979893002

8 years agoFix return from nullptr to false in GrVkTexture.cpp
bsalomon [Sun, 15 May 2016 00:55:32 +0000 (17:55 -0700)]
Fix return from nullptr to false in GrVkTexture.cpp

TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978113002

Review-Url: https://codereview.chromium.org/1978113002

8 years agoAdd blurcircles2 GM
bsalomon [Fri, 13 May 2016 20:48:48 +0000 (13:48 -0700)]
Add blurcircles2 GM

In GM mode this draws an array of circles with different radii and different blur radii. Below each circle an almost-circle path is drawn with the same blur filter for comparison.

In Sample mode this draws a single circle and almost-circle with animating radius and blur radius.

BUG=skia:5224
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974353003

Review-Url: https://codereview.chromium.org/1974353003

8 years agoRevert of Retract GrRenderTarget from AlphaClipMask code (patchset #3 id:40001 of...
bsalomon [Fri, 13 May 2016 20:47:04 +0000 (13:47 -0700)]
Revert of Retract GrRenderTarget from AlphaClipMask code (patchset #3 id:40001 of https://codereview.chromium.org/1977793004/ )

Reason for revert:
Possible cause of leak in ASAN bot:

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/3351

Original issue's description:
> Retract GrRenderTarget from AlphaClipMask code
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977793004
>
> Committed: https://skia.googlesource.com/skia/+/93bc24e8b09b5ad7498ce9bc9a6519c7a43dbc9d

TBR=robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1975353002

8 years agoFix msaa on GrVkRenderTarget
egdaniel [Fri, 13 May 2016 20:43:44 +0000 (13:43 -0700)]
Fix msaa on GrVkRenderTarget

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977113002

Review-Url: https://codereview.chromium.org/1977113002

8 years agoRetract GrRenderTarget from AlphaClipMask code
robertphillips [Fri, 13 May 2016 18:51:23 +0000 (11:51 -0700)]
Retract GrRenderTarget from AlphaClipMask code

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977793004

Review-Url: https://codereview.chromium.org/1977793004

8 years agoSkPictureGpuAnalyzer
fmalita [Fri, 13 May 2016 18:40:07 +0000 (11:40 -0700)]
SkPictureGpuAnalyzer

Stateful helper for gathering multi-picture GPU stats.

Exposes the existing SkPicture GPU veto semantics, while preserving
the SKP impl (which has some nice properties: lazy, hierarchical,
cached per pic).

R=reed@google.com,bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974833003

Review-Url: https://codereview.chromium.org/1974833003

8 years agoRefactor Vulkan image, texture, RTs so that create and getter handles match.
egdaniel [Fri, 13 May 2016 18:30:37 +0000 (11:30 -0700)]
Refactor Vulkan image, texture, RTs so that create and getter handles match.

This allows allows us to track and notify clients when either side changes
and image layout.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974983002

Review-Url: https://codereview.chromium.org/1974983002

8 years agoAbort stencil draws when the attachment fails
cdalton [Fri, 13 May 2016 18:27:15 +0000 (11:27 -0700)]
Abort stencil draws when the attachment fails

BUG=skia:611514
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971353003

Review-Url: https://codereview.chromium.org/1971353003

8 years agoRetract GrRenderTarget a bit within SkGpuDevice
robertphillips [Fri, 13 May 2016 18:20:46 +0000 (11:20 -0700)]
Retract GrRenderTarget a bit within SkGpuDevice

Split off of: https://codereview.chromium.org/1930013002/ ((Mostly) Retract GrRenderTarget from SkGpuDevice)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1956473002

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

Review-Url: https://codereview.chromium.org/1956473002

8 years agoConvert GrClip to an abstract base class
cdalton [Fri, 13 May 2016 17:25:00 +0000 (10:25 -0700)]
Convert GrClip to an abstract base class

Converts GrClip to an abstract base class and adds a "GrFixedClip"
implementation. GrFixedClip denotes a clip implemented with fixed-
function hardware. GrFixedClip allows us to remove the stateful
"fClipMode" member from GrClipMaskManager, and in the future will
be able to nicely encapsulate window rectangles.

After this change GrClipMaskManager is just a wrapper around
GrDrawTarget. We may want to consider removing it altogether.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971343002

Review-Url: https://codereview.chromium.org/1971343002

8 years agoThis has all the different source types in and working. There are many SkDiffs, but...
herb [Fri, 13 May 2016 17:04:46 +0000 (10:04 -0700)]
This has all the different source types in and working. There are many SkDiffs, but they seem to be due to better resolution.

This seems to fix all the bugs involved with make all the images produced by the codec to default to sRGB.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967283002

Review-Url: https://codereview.chromium.org/1967283002

8 years agoChange Android activity title from JNI call
liyuqian [Fri, 13 May 2016 16:57:44 +0000 (09:57 -0700)]
Change Android activity title from JNI call

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978843002

Review-Url: https://codereview.chromium.org/1978843002

8 years agoAdd bounds to GrShape
bsalomon [Fri, 13 May 2016 16:23:38 +0000 (09:23 -0700)]
Add bounds to GrShape
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970003003

Review-Url: https://codereview.chromium.org/1970003003

8 years agoAdd isolate_android_sdk.py script and android_sdk_hash
borenet [Fri, 13 May 2016 15:41:04 +0000 (08:41 -0700)]
Add isolate_android_sdk.py script and android_sdk_hash

BUG=skia:5298
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1975893002

Review-Url: https://codereview.chromium.org/1975893002

8 years agoSimple program for visualizing gamuts
msarett [Fri, 13 May 2016 14:32:59 +0000 (07:32 -0700)]
Simple program for visualizing gamuts

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1972343002

Review-Url: https://codereview.chromium.org/1972343002

8 years agoGMs: fail gracefully for null surface
scroggo [Fri, 13 May 2016 14:25:44 +0000 (07:25 -0700)]
GMs: fail gracefully for null surface

A couple more instances where MakeRenderTarget returns nullptr
due to --preAbandonGpuContext.

BUG=skia5282
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1976163002

Review-Url: https://codereview.chromium.org/1976163002

8 years agoUse title buttons to switch slides
liyuqian [Fri, 13 May 2016 13:45:21 +0000 (06:45 -0700)]
Use title buttons to switch slides

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1975723004

Review-Url: https://codereview.chromium.org/1975723004

8 years agoRecognize more sRGB gammas
msarett [Fri, 13 May 2016 13:19:04 +0000 (06:19 -0700)]
Recognize more sRGB gammas

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1975883003

Review-Url: https://codereview.chromium.org/1975883003

8 years agoSimplify GrSWMaskHelper
robertphillips [Fri, 13 May 2016 12:47:23 +0000 (05:47 -0700)]
Simplify GrSWMaskHelper
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974943002

Review-Url: https://codereview.chromium.org/1974943002

8 years agoSwap SkGpuBlurUtils over to using SkIRects
robertphillips [Fri, 13 May 2016 12:06:19 +0000 (05:06 -0700)]
Swap SkGpuBlurUtils over to using SkIRects

We don't have to land this, but I found it more comforting for the blurring code to explicitly deal with SkIRects rather than SkRects with integer values.

Split out of: https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1968603003

Review-Url: https://codereview.chromium.org/1968603003

8 years agoRemove clip from GrPipelineBuilder
cdalton [Thu, 12 May 2016 22:09:48 +0000 (15:09 -0700)]
Remove clip from GrPipelineBuilder

This eliminates a copy and will allow us to make the GrClip class
virutal.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966903004

Review-Url: https://codereview.chromium.org/1966903004

8 years agoEliminate special case nvpr batch handling
cdalton [Thu, 12 May 2016 18:52:02 +0000 (11:52 -0700)]
Eliminate special case nvpr batch handling

Removes drawPathBatch methods from GrDrawTarget and GrDrawContext, and
integrates nvpr batches in with all the other batches.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966763002

Review-Url: https://codereview.chromium.org/1966763002

8 years agoIgnore patch version when checking compatibility of vulkan layers
egdaniel [Thu, 12 May 2016 18:42:00 +0000 (11:42 -0700)]
Ignore patch version when checking compatibility of vulkan layers

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970233002

Review-Url: https://codereview.chromium.org/1970233002

8 years agoMake PixelGetters much smaller, move more common code to PixelAccessor.
herb [Thu, 12 May 2016 18:37:00 +0000 (11:37 -0700)]
Make PixelGetters much smaller, move more common code to PixelAccessor.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971863002

Review-Url: https://codereview.chromium.org/1971863002

8 years agocmake: fixes for windows
halcanary [Thu, 12 May 2016 18:25:00 +0000 (11:25 -0700)]
cmake: fixes for windows

Review-Url: https://codereview.chromium.org/1975933002

8 years agoMake SkGpuBlurUtils::GaussianBlur more drawContext centric
robertphillips [Thu, 12 May 2016 18:13:00 +0000 (11:13 -0700)]
Make SkGpuBlurUtils::GaussianBlur more drawContext centric

This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003

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

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

Review-Url: https://codereview.chromium.org/1962903003

8 years agoSupport allowSRGBInputs on Vulkan (via secondary texture views)
brianosman [Thu, 12 May 2016 18:01:10 +0000 (11:01 -0700)]
Support allowSRGBInputs on Vulkan (via secondary texture views)

All textures still have a "correct" image view that matches their actual
format. For sRGB textures, we can ask for a non-sRGB view that is
created on demand (and cached), in legacy mode.

Finally, turn on sRGB support in Vulkan. The gamma GM now looks correct
in both L32 and S32.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970293002

Review-Url: https://codereview.chromium.org/1970293002

8 years agoRemove SkPicture::hasText()
fmalita [Thu, 12 May 2016 17:53:49 +0000 (10:53 -0700)]
Remove SkPicture::hasText()

No longer used in Chromium.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978533002

Review-Url: https://codereview.chromium.org/1978533002

8 years agoFix typo in SkOSWindow_AndroidNative.
bungeman [Thu, 12 May 2016 17:48:59 +0000 (10:48 -0700)]
Fix typo in SkOSWindow_AndroidNative.

This allows the 'most' target to be built on Android.

Review-Url: https://codereview.chromium.org/1973043002

8 years agoFix bug & add code to catch ImageFilter clearing bugs
robertphillips [Thu, 12 May 2016 17:46:39 +0000 (10:46 -0700)]
Fix bug & add code to catch ImageFilter clearing bugs

Follow on to https://codereview.chromium.org/1969193002/ (SkPictureImageFilter - clear local canvas before use)

BUG=610667

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1972213002

Review-Url: https://codereview.chromium.org/1972213002

8 years agoFix bad pixel address calculation.
herb [Thu, 12 May 2016 17:36:24 +0000 (10:36 -0700)]
Fix bad pixel address calculation.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974053002

Review-Url: https://codereview.chromium.org/1974053002

8 years agoWarning instead of exception for cmake
liyuqian [Thu, 12 May 2016 17:21:17 +0000 (10:21 -0700)]
Warning instead of exception for cmake

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971953003

Review-Url: https://codereview.chromium.org/1971953003

8 years agousing_skia_and_harfbuzz: compile w/ Android NDK
halcanary [Thu, 12 May 2016 17:09:58 +0000 (10:09 -0700)]
using_skia_and_harfbuzz: compile w/ Android NDK

TBR=djsollen@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977503002

Review-Url: https://codereview.chromium.org/1977503002

8 years agoMove SkTypeface to sk_sp.
bungeman [Thu, 12 May 2016 17:09:30 +0000 (10:09 -0700)]
Move SkTypeface to sk_sp.

Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933393002

Review-Url: https://codereview.chromium.org/1933393002

8 years agoUse swipe gesture to switch between slides on Android
liyuqian [Thu, 12 May 2016 16:17:04 +0000 (09:17 -0700)]
Use swipe gesture to switch between slides on Android

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965013007

Review-Url: https://codereview.chromium.org/1965013007

8 years agoSkPictureImageFilter - clear local canvas before use
ericrk [Thu, 12 May 2016 16:06:44 +0000 (09:06 -0700)]
SkPictureImageFilter - clear local canvas before use

In SkPictureImageFilter::onFilterImage, we may create two new surfaces,
one for our final output, and one for a local resolution intermediate.

We clear the final output surface before use, removing any previous
content, however we do not do the same for the local surface. This can
lead to content being incorrectly layered on top of previous content
when we go down this path.

This change adds logic to clear the local surface as well.

BUG=610667
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1969193002

Review-Url: https://codereview.chromium.org/1969193002

8 years agoFix sRGB textures that must be copied (for NPOT tiling, etc...)
brianosman [Thu, 12 May 2016 14:53:45 +0000 (07:53 -0700)]
Fix sRGB textures that must be copied (for NPOT tiling, etc...)

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1969923002

Review-Url: https://codereview.chromium.org/1969923002

8 years agofix hairline clip
caryclark [Thu, 12 May 2016 14:07:05 +0000 (07:07 -0700)]
fix hairline clip

Don't remove inner clip if it's non-rectangular.
Add cubic hairline clip code to quad and conic cases.

R=reed@google.com
BUG=skia:5252
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1943403006

Review-Url: https://codereview.chromium.org/1943403006

8 years agoRevert of Move SkTypeface to sk_sp. (patchset #5 id:80001 of https://codereview.chrom...
scroggo [Thu, 12 May 2016 13:22:30 +0000 (06:22 -0700)]
Revert of Move SkTypeface to sk_sp. (patchset #5 id:80001 of https://codereview.chromium.org/1933393002/ )

Reason for revert:
fontmgr_iterAndroid failing to draw emoji. E.g. https://gold.skia.org/search2?blame=6296da736fbf40aae881650c239420f64e576c3f&unt=true&head=true&query=source_type%3Dgm

Original issue's description:
> Move SkTypeface to sk_sp.
>
> Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f

TBR=reed@google.com,fmalita@chromium.org,tomhudson@google.com,bungeman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1974783002

8 years agoFail gracefully if MakeRenderTarget fails
scroggo [Thu, 12 May 2016 13:19:37 +0000 (06:19 -0700)]
Fail gracefully if MakeRenderTarget fails

We recently started passing --preAbandonGpuContext when running DM on
valgrind, resulting in this call returning nullptr. We had not been
checking for it, so we crash. Already fixed one in crrev.com/1959173002,
and now we reach another one.

BUG=skia:5282
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1972933002

Review-Url: https://codereview.chromium.org/1972933002

8 years agoAdd isEmpty() query to GrShape and improve comments.
bsalomon [Wed, 11 May 2016 22:15:56 +0000 (15:15 -0700)]
Add isEmpty() query to GrShape and improve comments.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971613004

Review-Url: https://codereview.chromium.org/1971613004

8 years agoSeparate user and raw stencil settings
cdalton [Wed, 11 May 2016 20:58:08 +0000 (13:58 -0700)]
Separate user and raw stencil settings

Adds a new GrUserStencilSettings class that describes in abstract terms
how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit,
etc.). GrPipelineBuilder now only defines the GrUserStencilSettings.
When the GrPipeline is finalized, the user stencil settings are then
translated into concrete GrStencilSettings.

At this point, GrClipMaskManager only needs to tell the GrAppliedClip
whether or not there is a stencil clip. It does not need to modify
stencil settings and GrPipelineBuilder does not need
AutoRestoreStencil.

This is one step of the stencil overhaul. In the future it will also
allow us to clean up the special case handling for nvpr and the
stateful fClipMode member of GrClipMaskManager.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002

Committed: https://skia.googlesource.com/skia/+/12dbb3947e1aaf205b4fcf13b40e54e50650eb37

Review-Url: https://codereview.chromium.org/1962243002

8 years agoRevert of Make SkGpuBlurUtils::GaussianBlur more drawContext centric (patchset #2...
robertphillips [Wed, 11 May 2016 19:41:35 +0000 (12:41 -0700)]
Revert of Make SkGpuBlurUtils::GaussianBlur more drawContext centric (patchset #2 id:20001 of https://codereview.chromium.org/1962903003/ )

Reason for revert:
ASAN

Original issue's description:
> Make SkGpuBlurUtils::GaussianBlur more drawContext centric
>
> This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003
>
> Committed: https://skia.googlesource.com/skia/+/e7ef01dcfda0f8ae407ba92cc03cf3f7841ec470
>
> Committed: https://skia.googlesource.com/skia/+/d38d92f9ca6a58ee51461488f0869343cf7ca083

TBR=bsalomon@google.com,scroggo@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1964413003

8 years agoMove SkTypeface to sk_sp.
bungeman [Wed, 11 May 2016 19:38:18 +0000 (12:38 -0700)]
Move SkTypeface to sk_sp.

Review-Url: https://codereview.chromium.org/1933393002

8 years agoNanobench running on Vulkan
bsalomon [Wed, 11 May 2016 18:55:36 +0000 (11:55 -0700)]
Nanobench running on Vulkan

This lets nanobench run but the timings are inaccurate because of missing
implementations of synchronization functions in VkTestContext.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965273004

Review-Url: https://codereview.chromium.org/1965273004

8 years agoUse common code from SkPM4fPriv
herb [Wed, 11 May 2016 18:53:36 +0000 (11:53 -0700)]
Use common code from SkPM4fPriv

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967793003

Review-Url: https://codereview.chromium.org/1967793003

8 years agoUse GrGammaEffect to support YUV conversion without sRGB write control
brianosman [Wed, 11 May 2016 18:43:35 +0000 (11:43 -0700)]
Use GrGammaEffect to support YUV conversion without sRGB write control

BUG=skia:

Review-Url: https://codereview.chromium.org/1970833003

8 years agoHarden linear gradients
fmalita [Wed, 11 May 2016 18:39:58 +0000 (11:39 -0700)]
Harden linear gradients

Ensure that the last offset == 1.0f when implict positions are used
(previously subject to float imprecision).

BUG=skia:5288,chromium:598484
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974463002

Review-Url: https://codereview.chromium.org/1974463002

8 years agoAdd png for difficult but common blit cases.
herb [Wed, 11 May 2016 18:12:17 +0000 (11:12 -0700)]
Add png for difficult but common blit cases.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1973583002

Review-Url: https://codereview.chromium.org/1973583002

8 years agoMake SkGpuBlurUtils::GaussianBlur more drawContext centric
robertphillips [Wed, 11 May 2016 18:00:52 +0000 (11:00 -0700)]
Make SkGpuBlurUtils::GaussianBlur more drawContext centric

This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003

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

Review-Url: https://codereview.chromium.org/1962903003

8 years agoRefactor sample to share boiler plate code. TODO: move to common calls from SkPM4f.
herb [Wed, 11 May 2016 17:39:55 +0000 (10:39 -0700)]
Refactor sample to share boiler plate code. TODO: move to common calls from SkPM4f.

This preparation to finish handling the rest of the SkColorTypes.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970813002

Review-Url: https://codereview.chromium.org/1970813002

8 years agoMake unit tests use generic testcontext rather than glcontext
bsalomon [Wed, 11 May 2016 17:38:05 +0000 (10:38 -0700)]
Make unit tests use generic testcontext rather than glcontext
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971613003

Review-Url: https://codereview.chromium.org/1971613003

8 years agoRevert of Make SkGpuBlurUtils::GaussianBlur more drawContext centric (patchset #2...
scroggo [Wed, 11 May 2016 17:21:00 +0000 (10:21 -0700)]
Revert of Make SkGpuBlurUtils::GaussianBlur more drawContext centric (patchset #2 id:20001 of https://codereview.chromium.org/1962903003/ )

Reason for revert:
This looks to be causing errors in Gold.  I don't know if I can make a permanent link to something in Gold, but take a look at imagefilterscropexpand for an example.

Original issue's description:
> Make SkGpuBlurUtils::GaussianBlur more drawContext centric
>
> This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003
>
> Committed: https://skia.googlesource.com/skia/+/e7ef01dcfda0f8ae407ba92cc03cf3f7841ec470

TBR=bsalomon@google.com,robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1973563002

8 years agoAdd base class for GLTestContext and add new subclass VkTestContext.
bsalomon [Wed, 11 May 2016 17:09:18 +0000 (10:09 -0700)]
Add base class for GLTestContext and add new subclass VkTestContext.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1964243003

Review-Url: https://codereview.chromium.org/1964243003

8 years agoReset context after doing non-Skia GL rendering.
brianosman [Wed, 11 May 2016 15:49:59 +0000 (08:49 -0700)]
Reset context after doing non-Skia GL rendering.

Fixes nanobench crash in GLInstancedArraysBench

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1969623003

Review-Url: https://codereview.chromium.org/1969623003

8 years agoSwitch GrTextureToYUVPlanes over to newDrawContext calls
robertphillips [Wed, 11 May 2016 15:34:39 +0000 (08:34 -0700)]
Switch GrTextureToYUVPlanes over to newDrawContext calls

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970743002

Review-Url: https://codereview.chromium.org/1970743002

8 years agocompressed texture support has been broken/untested for a while, remove cruft
reed [Wed, 11 May 2016 15:06:11 +0000 (08:06 -0700)]
compressed texture support has been broken/untested for a while, remove cruft

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970773002

Review-Url: https://codereview.chromium.org/1970773002

8 years agoMake SkGpuBlurUtils::GaussianBlur more drawContext centric
robertphillips [Wed, 11 May 2016 14:55:35 +0000 (07:55 -0700)]
Make SkGpuBlurUtils::GaussianBlur more drawContext centric

This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003

Review-Url: https://codereview.chromium.org/1962903003

8 years agoMake GrGammaEffect have explicit sRGB modes, plus exponential mode.
brianosman [Wed, 11 May 2016 13:49:32 +0000 (06:49 -0700)]
Make GrGammaEffect have explicit sRGB modes, plus exponential mode.

Convert it to a "standard" FP that just transforms the input color.

For now, we still infer the sRGB transfer curves from the exponent,
but I'm hoping that eventually SkGammas will provide us with the
exact curve we're supposed to be applying. In any case, this adds
support for doing the inverse transformation, as well, which will
be needed in an upcoming Vulkan YUV change, among other things.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1954863002

Committed: https://skia.googlesource.com/skia/+/2139303e4c0a9cbcfac695977a80eb026a9296ab

Review-Url: https://codereview.chromium.org/1954863002

8 years agoRevert "Add tests and benches to support the sRGB blitter for SkOpts"
scroggo [Wed, 11 May 2016 13:40:32 +0000 (06:40 -0700)]
Revert "Add tests and benches to support the sRGB blitter for SkOpts"

This reverts commit 554784cd85029c05d9ed04b1aeb71520d196153a and
1956b4ae1c9a47833b174f31c054d347ea04db09

Reason for revert - ASAN failures, e.g. from https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN/builds/2233/steps/perf_skia%20on%20Ubuntu/logs/stdio :

  Uninitialized value was created by a heap allocation
    0 0x7f69aa96f799 in operator new[](unsigned long) /b/work/skia/third_party/externals/llvm/out/../projects/compiler-rt/lib/msan/msan_new_delete.cc:37
    1 0x7f69aaa315c1 in SkAutoTArray<unsigned int>::reset(int) /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../include/private/../private/SkTemplates.h:137:22
    2 0x7f69aaa34ee9 in LinearSrcOverBench<SrcOverVSkOptsSSE41>::LinearSrcOverBench(char const*) /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../bench/SkBlend_optsBench.cpp:108:9
    3 0x7f69aaa30cf2 in $_24::operator()(void*) const /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../bench/SkBlend_optsBench.cpp:167:1
    4 0x7f69aaa30c87 in $_24::__invoke(void*) /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../bench/SkBlend_optsBench.cpp:167:1
    5 0x7f69aaa68856 in BenchmarkStream::rawNext() /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../bench/nanobench.cpp:653:32
    6 0x7f69aaa61467 in BenchmarkStream::next() /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../bench/nanobench.cpp:642:25
    7 0x7f69aaa5b703 in nanobench_main() /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../bench/nanobench.cpp:1119:27
    8 0x7f69aaa5e10d in main /b/work/skia/out/Build-Ubuntu-GCC-x86_64-Debug-MSAN/Debug/../../../bench/nanobench.cpp:1290:12
    9 0x7f69a8c95ec4 in __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287

TBR=herb@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1969803002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/1969803002

8 years agoTurn ContextInfos returned by GrContextFactory into structs.
bsalomon [Wed, 11 May 2016 13:33:06 +0000 (06:33 -0700)]
Turn ContextInfos returned by GrContextFactory into structs.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966013002

Review-Url: https://codereview.chromium.org/1966013002

8 years agoMake distance field bounds calculation more accurate for strokes
bsalomon [Wed, 11 May 2016 12:53:07 +0000 (05:53 -0700)]
Make distance field bounds calculation more accurate for strokes
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1964313002

Review-Url: https://codereview.chromium.org/1964313002

8 years agoRevert of Separate user and raw stencil settings (patchset #8 id:140001 of https...
robertphillips [Wed, 11 May 2016 12:21:56 +0000 (05:21 -0700)]
Revert of Separate user and raw stencil settings (patchset #8 id:140001 of https://codereview.chromium.org/1962243002/ )

Reason for revert:
This seems to be breaking nanobench on the Windows bots with:

Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION
GrDrawTarget::stencilPath +c7
GrStencilAndCoverPathRenderer::onDrawPath +fd
GrDrawContext::internalDrawPath +509
GrDrawContext::drawPath +223
GrBlurUtils::drawPathWithMaskFilter +250
SkGpuDevice::drawPath +2ea
SkCanvas::onDrawPath +2e3
SkRecordDraw +2e6
SkBigPicture::playback +e5
SkCanvas::onDrawPicture +12c
SkCanvas::drawPicture +145
SkRecordDraw +2e6
SkBigPicture::playback +e5
SkCanvas::onDrawPicture +12c
SkCanvas::drawPicture +145
SkRecordDraw +261
SkBigPicture::playback +e5
SkCanvas::onDrawPicture +12c
SkCanvas::drawPicture +145
SkMultiPictureDraw::draw +bf
SKPBench::drawMPDPicture +1e0
SKPBench::onDraw +34
Benchmark::draw +32
time +92
setup_gpu_bench +6e
nanobench_main +77b

Original issue's description:
> Separate user and raw stencil settings
>
> Adds a new GrUserStencilSettings class that describes in abstract terms
> how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit,
> etc.). GrPipelineBuilder now only defines the GrUserStencilSettings.
> When the GrPipeline is finalized, the user stencil settings are then
> translated into concrete GrStencilSettings.
>
> At this point, GrClipMaskManager only needs to tell the GrAppliedClip
> whether or not there is a stencil clip. It does not need to modify
> stencil settings and GrPipelineBuilder does not need
> AutoRestoreStencil.
>
> This is one step of the stencil overhaul. In the future it will also
> allow us to clean up the special case handling for nvpr and the
> stateful fClipMode member of GrClipMaskManager.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002
>
> Committed: https://skia.googlesource.com/skia/+/12dbb3947e1aaf205b4fcf13b40e54e50650eb37

TBR=bsalomon@google.com,cdalton@nvidia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/1969693003

8 years agoRevert of Make GrGammaEffect have explicit sRGB modes, plus exponential mode. (patchs...
robertphillips [Wed, 11 May 2016 12:17:36 +0000 (05:17 -0700)]
Revert of Make GrGammaEffect have explicit sRGB modes, plus exponential mode. (patchset #4 id:60001 of https://codereview.chromium.org/1954863002/ )

Reason for revert:
Shader compilation appears to be failing

Original issue's description:
> Make GrGammaEffect have explicit sRGB modes, plus exponential mode.
>
> Convert it to a "standard" FP that just transforms the input color.
>
> For now, we still infer the sRGB transfer curves from the exponent,
> but I'm hoping that eventually SkGammas will provide us with the
> exact curve we're supposed to be applying. In any case, this adds
> support for doing the inverse transformation, as well, which will
> be needed in an upcoming Vulkan YUV change, among other things.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1954863002
>
> Committed: https://skia.googlesource.com/skia/+/2139303e4c0a9cbcfac695977a80eb026a9296ab

TBR=bsalomon@google.com,brianosman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/1964943003

8 years agoMinor GrRenderTarget retraction
robertphillips [Wed, 11 May 2016 12:15:55 +0000 (05:15 -0700)]
Minor GrRenderTarget retraction
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967743003

Review-Url: https://codereview.chromium.org/1967743003

8 years agoMake GrGammaEffect have explicit sRGB modes, plus exponential mode.
brianosman [Wed, 11 May 2016 03:29:15 +0000 (20:29 -0700)]
Make GrGammaEffect have explicit sRGB modes, plus exponential mode.

Convert it to a "standard" FP that just transforms the input color.

For now, we still infer the sRGB transfer curves from the exponent,
but I'm hoping that eventually SkGammas will provide us with the
exact curve we're supposed to be applying. In any case, this adds
support for doing the inverse transformation, as well, which will
be needed in an upcoming Vulkan YUV change, among other things.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1954863002

Review-Url: https://codereview.chromium.org/1954863002

8 years agoUse proper color type for assert.
herb [Tue, 10 May 2016 21:53:34 +0000 (14:53 -0700)]
Use proper color type for assert.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967803002

Review-Url: https://codereview.chromium.org/1967803002

8 years agoDisable unpack row length when uploading mips
ericrk [Tue, 10 May 2016 21:36:53 +0000 (14:36 -0700)]
Disable unpack row length when uploading mips

When uploading multiple mip levels, the current path which uses
GL_UNPACK_ROW_LENGTH doesn't work (it fails to reset this value,
and is set incorrectly for subsequent mip levels). This leads
to crashes as the buffer Skia provides to GL is not sized correctly.
This change temporarily disables the GL_UNPACK_ROW_LENGTH path when we
are uploading mips. This path was an optimization, so everything should
continue working as expected.

This is a temporary workaround until we can re-structure the code to
set GL_UNPACK_ROW_LENGTH per mip level.

BUG=609612
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965973002

Review-Url: https://codereview.chromium.org/1965973002

8 years agoRemove SkFontHost.h.
bungeman [Tue, 10 May 2016 21:32:07 +0000 (14:32 -0700)]
Remove SkFontHost.h.

What is left of this file is now in SkFontLCDConfig.h.

Review-Url: https://codereview.chromium.org/1945883002

8 years agoInstruct yasm to compile position independent code on Android
msarett [Tue, 10 May 2016 21:30:07 +0000 (14:30 -0700)]
Instruct yasm to compile position independent code on Android

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965983002

Review-Url: https://codereview.chromium.org/1965983002

8 years agoSeparate user and raw stencil settings
cdalton [Tue, 10 May 2016 21:23:01 +0000 (14:23 -0700)]
Separate user and raw stencil settings

Adds a new GrUserStencilSettings class that describes in abstract terms
how a draw will use the stencil (e.g. kAlwaysIfInClip, kSetClipBit,
etc.). GrPipelineBuilder now only defines the GrUserStencilSettings.
When the GrPipeline is finalized, the user stencil settings are then
translated into concrete GrStencilSettings.

At this point, GrClipMaskManager only needs to tell the GrAppliedClip
whether or not there is a stencil clip. It does not need to modify
stencil settings and GrPipelineBuilder does not need
AutoRestoreStencil.

This is one step of the stencil overhaul. In the future it will also
allow us to clean up the special case handling for nvpr and the
stateful fClipMode member of GrClipMaskManager.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962243002

Review-Url: https://codereview.chromium.org/1962243002

8 years agoAdd tests and benches to support the sRGB blitter for SkOpts
herb [Tue, 10 May 2016 20:33:47 +0000 (13:33 -0700)]
Add tests and benches to support the sRGB blitter for SkOpts

 1,370.85 LinearSrcOvericonstrip.pngVSkOptsSSE41
 2,359.69 LinearSrcOvericonstrip.pngVSkOptsDefault
 1,828.72 LinearSrcOvericonstrip.pngVSkOptsNonSimdCore
 3,277.40 LinearSrcOvericonstrip.pngVSkOptsTrivial
 9,862.34 LinearSrcOvericonstrip.pngVSkOptsBruteForce

   633.55 LinearSrcOvermandrill_512.pngVSkOptsSSE41
   684.29 LinearSrcOvermandrill_512.pngVSkOptsDefault
 1,201.88 LinearSrcOvermandrill_512.pngVSkOptsNonSimdCore
 2,382.63 LinearSrcOvermandrill_512.pngVSkOptsTrivial
10,888.74 LinearSrcOvermandrill_512.pngVSkOptsBruteForce

   209.14 LinearSrcOverplane.pngVSkOptsSSE41
   562.24 LinearSrcOverplane.pngVSkOptsDefault
   272.64 LinearSrcOverplane.pngVSkOptsNonSimdCore
   436.46 LinearSrcOverplane.pngVSkOptsTrivial
 1,327.23 LinearSrcOverplane.pngVSkOptsBruteForce

   318.01 LinearSrcOverbaby_tux.pngVSkOptsSSE41
   529.05 LinearSrcOverbaby_tux.pngVSkOptsDefault
   441.33 LinearSrcOverbaby_tux.pngVSkOptsNonSimdCore
   720.50 LinearSrcOverbaby_tux.pngVSkOptsTrivial
 2,191.10 LinearSrcOverbaby_tux.pngVSkOptsBruteForce

   479.68 LinearSrcOveryellow_rose.pngVSkOptsSSE41
 1,095.03 LinearSrcOveryellow_rose.pngVSkOptsDefault
   668.60 LinearSrcOveryellow_rose.pngVSkOptsNonSimdCore
 1,257.19 LinearSrcOveryellow_rose.pngVSkOptsTrivial
 4,970.25 LinearSrcOveryellow_rose.pngVSkOptsBruteForce

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1939513002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/1939513002

8 years agoFix nvpr path renderer to reject styles with nonDashPathEffects.
bsalomon [Tue, 10 May 2016 18:57:04 +0000 (11:57 -0700)]
Fix nvpr path renderer to reject styles with nonDashPathEffects.

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965903002

NOTRY=true

Review-Url: https://codereview.chromium.org/1965903002

8 years agoRemove config range asserts that cause tautological-constant-out-of-range-compare...
bsalomon [Tue, 10 May 2016 17:23:50 +0000 (10:23 -0700)]
Remove config range asserts that cause tautological-constant-out-of-range-compare warnings
on clang
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1964053002

Review-Url: https://codereview.chromium.org/1964053002

8 years agoFix AllocedProxyTest on Mesa
robertphillips [Tue, 10 May 2016 17:23:30 +0000 (10:23 -0700)]
Fix AllocedProxyTest on Mesa

Mesa is handing us a context that supports MSAA but has 0 as the max number of color samples

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967503004

Review-Url: https://codereview.chromium.org/1967503004

8 years agoReplace GrStrokeInfo with GrStyle.
bsalomon [Tue, 10 May 2016 16:14:17 +0000 (09:14 -0700)]
Replace GrStrokeInfo with GrStyle.

A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002

Committed: https://skia.googlesource.com/skia/+/33595bdf4b64a745f6340338d307e806e96c587f

Review-Url: https://codereview.chromium.org/1957363002

8 years agoOnly enable SRGB write control on desktop GL when SRGB is supported.
bsalomon [Tue, 10 May 2016 16:05:06 +0000 (09:05 -0700)]
Only enable SRGB write control on desktop GL when SRGB is supported.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1961273004

Review-Url: https://codereview.chromium.org/1961273004

8 years agoAdd flexible keybinding/command system to sk_app.
brianosman [Tue, 10 May 2016 13:50:49 +0000 (06:50 -0700)]
Add flexible keybinding/command system to sk_app.

Viewer demonstrates use: Just create an instance of CommandSet,
register with the window, and add commands. Hopefully, we can keep
all commands in one place, and get some nice side-benefits. With
this framework, if you want to add a new command, you are only
required to add code in ONE place. And you get added to the help
screen, for free.

CommandSet automatically binds 'h' to cycle through the help modes.
(Functional grouping is most useful for general use, but the other
mode is nice to know what a key does, or to find an unused key for
a new feature).

Grouped by function: https://screenshot.googleplex.com/G5h3f52wFKu.png
Alphabetical by key: https://screenshot.googleplex.com/nZiopabLKJ6.png

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955293002

Review-Url: https://codereview.chromium.org/1955293002

8 years agoSet level count for wrapped backbuffer
jvanverth [Tue, 10 May 2016 13:42:18 +0000 (06:42 -0700)]
Set level count for wrapped backbuffer

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1965533002

Review-Url: https://codereview.chromium.org/1965533002

8 years agoRevert of Replace GrStrokeInfo with GrStyle. (patchset #4 id:160001 of https://codere...
bsalomon [Tue, 10 May 2016 13:19:21 +0000 (06:19 -0700)]
Revert of Replace GrStrokeInfo with GrStyle. (patchset #4 id:160001 of https://codereview.chromium.org/1957363002/ )

Reason for revert:
Breaking some bots

Original issue's description:
> Replace GrStrokeInfo with GrStyle.
>
> A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002
>
> Committed: https://skia.googlesource.com/skia/+/33595bdf4b64a745f6340338d307e806e96c587f

TBR=egdaniel@google.com,robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1967513002

8 years agoRun RAW images serially on Win8-MSVC-ShuttleB
scroggo [Tue, 10 May 2016 13:11:20 +0000 (06:11 -0700)]
Run RAW images serially on Win8-MSVC-ShuttleB

BUG=skia:5283
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1960153005

Review-Url: https://codereview.chromium.org/1960153005

8 years agoReplace GrStrokeInfo with GrStyle.
bsalomon [Tue, 10 May 2016 12:57:27 +0000 (05:57 -0700)]
Replace GrStrokeInfo with GrStyle.

A side effect is that arbitrary path effects can no be pushed deeper into the Ganesh flow for paths. They may be applied by path renderers.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957363002

Review-Url: https://codereview.chromium.org/1957363002

8 years agorefactor drawPath to have drawDevPath
reed [Tue, 10 May 2016 00:48:46 +0000 (17:48 -0700)]
refactor drawPath to have drawDevPath
pre-CL for larger change to support read-only paths

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957263003

TBR=

Review-Url: https://codereview.chromium.org/1957263003

8 years agoApproximate common gamma tables as single values
msarett [Mon, 9 May 2016 21:27:48 +0000 (14:27 -0700)]
Approximate common gamma tables as single values

This should improve performance of gamma conversion in
software (we can use vector math instead of table look
ups).

Additionally this allows us to quickly and easily
identify sRGB-like gammas.

On gpu, identifying sRGB gamma improves performance/memory,
because the hardware may support gamma conversion.

This will help us identify situations where gamma
conversion is not necessary.
Ex: sRGB input -> sRGB display

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950183006

Review-Url: https://codereview.chromium.org/1950183006

8 years agoMake DM fail if no configs were successfully created
brianosman [Mon, 9 May 2016 20:42:16 +0000 (13:42 -0700)]
Make DM fail if no configs were successfully created

BUG=skia:5261
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957273002

Review-Url: https://codereview.chromium.org/1957273002

8 years agoStop valgrind bot from crashing
scroggo [Mon, 9 May 2016 20:20:58 +0000 (13:20 -0700)]
Stop valgrind bot from crashing

make_surface is returning nullptr, resulting in an invalid read.

Add an error message with debugging information and skip this
iteration.

Also switch to cleaner for loop syntax.

BUG=skia:5282
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1959173002

Review-Url: https://codereview.chromium.org/1959173002

8 years agoIncorporate scale into GrStyle and GrShape
bsalomon [Mon, 9 May 2016 20:02:01 +0000 (13:02 -0700)]
Incorporate scale into GrStyle and GrShape
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952383003

Review-Url: https://codereview.chromium.org/1952383003

8 years agoMake SkAssertResult work with SK_WARN_UNUSED_RESULT in Release on gcc
bsalomon [Mon, 9 May 2016 19:35:17 +0000 (12:35 -0700)]
Make SkAssertResult work with SK_WARN_UNUSED_RESULT in Release on gcc
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962723003

Review-Url: https://codereview.chromium.org/1962723003

8 years agoAllow gpu ResourceHandle class to be shared for multiple purposes
egdaniel [Mon, 9 May 2016 18:03:48 +0000 (11:03 -0700)]
Allow gpu ResourceHandle class to be shared for multiple purposes

Currently this class was just used for resource handles when building up
a shader. However, I want to now use this class for things like objects
owned/held by the GrVkResourceProvider which are used by other classes.
An example of this will be for GrVkRenderTargets to hold a handle to a
collection of compatible render passes without having to own/hold onto
the render passes themselves.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955893002

Review-Url: https://codereview.chromium.org/1955893002