msarett [Tue, 17 May 2016 16:31:20 +0000 (09:31 -0700)]
Prepare SkColorSpace to be a public API
Moves implementation details into SkColorSpacePriv.h
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1985903002
Review-Url: https://codereview.chromium.org/
1985903002
msarett [Tue, 17 May 2016 16:31:04 +0000 (09:31 -0700)]
Update libpng to 1.6.22rc01
If there are no issues, this version will be released May 26.
Let's start testing with it, so we are ready to update Chrome when
it is available.
BUG=skia:4710
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1983853002
Review-Url: https://codereview.chromium.org/
1983853002
msarett [Tue, 17 May 2016 15:52:11 +0000 (08:52 -0700)]
Ensure that SkColorTable->fCount is set properly after decodes
We now have some blits that will process the color table.
If we erroneously report that the size of the color table is 256,
we will do extra work and annoy MSAN.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1982753002
Review-Url: https://codereview.chromium.org/
1982753002
bsalomon [Tue, 17 May 2016 15:36:41 +0000 (08:36 -0700)]
Make GrFontScaler not be ref-counted
This object is made invalid when the SkGlyphCache that it points to is destroyed.
BUG=chromium:608566
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1982303002
Review-Url: https://codereview.chromium.org/
1982303002
herb [Tue, 17 May 2016 13:50:15 +0000 (06:50 -0700)]
Revert of Change to sRGB default for codec generated images. (patchset #2 id:20001 of https://codereview.chromium.org/
1955063002/ )
Reason for revert:
TBR=brianosman@google.com
Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/
7acc00853174361cf921ecac8fbeaf6812f53eed
TBR=brianosman@google.com,msarett@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/
1982323002
kkinnunen [Tue, 17 May 2016 13:01:40 +0000 (06:01 -0700)]
Remove workarounds initializing command buffer EGL
The eglDisplay() of command buffer EGL implementation now does not
allocate a new EGL display per call, rather just returns the global.
The EGL implementation is fixed as part of bug 581634.
Removes eglTerminate call, as it's should not be used in Skia at the
moment. The call will terminate all of EGL, which is not intendend. The
previous usage was only due to incorrect implementation of the API. Not
added back to anywhere else, leaking EGL globals is as
designed. Discussed in https://chromiumcodereview.appspot.com/
1733323002.
BUG=581634, 603223
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1978733003
Review-Url: https://codereview.chromium.org/
1978733003
reed [Tue, 17 May 2016 10:07:01 +0000 (03:07 -0700)]
Revert of Add specialized sRGB blitter for SkOpts (patchset #21 id:400001 of https://codereview.chromium.org/
1939513002/ )
Reason for revert:
broke some debug bots:
Running LinearSrcOvericonstrip.pngVSkOptsSSE41 nonrendering
../../../bench/SkBlend_optsBench.cpp:118: fatal error: ""fPixmap.colorType() == kRGBA_8888_SkColorType""
Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/
554784cd85029c05d9ed04b1aeb71520d196153a
>
> Committed: https://skia.googlesource.com/skia/+/
bc927548db17accec2195af6e15053f7918bb3f5
TBR=mtklein@google.com,fmalita@chromium.org,herb@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/
1986763002
herb [Mon, 16 May 2016 21:27:51 +0000 (14:27 -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
Committed: https://skia.googlesource.com/skia/+/
554784cd85029c05d9ed04b1aeb71520d196153a
Review-Url: https://codereview.chromium.org/
1939513002
bsalomon [Mon, 16 May 2016 21:09:56 +0000 (14:09 -0700)]
Implement vulkan fence syncs for nanobench
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1974913003
Review-Url: https://codereview.chromium.org/
1974913003
bungeman [Mon, 16 May 2016 19:39:23 +0000 (12:39 -0700)]
Remove unneeded reference count churn.
An object was ref'ed only to be automatically unref'ed.
Review-Url: https://codereview.chromium.org/
1979193009
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
halcanary [Thu, 12 May 2016 18:25:00 +0000 (11:25 -0700)]
cmake: fixes for windows
Review-Url: https://codereview.chromium.org/
1975933002
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
bungeman [Wed, 11 May 2016 19:38:18 +0000 (12:38 -0700)]
Move SkTypeface to sk_sp.
Review-Url: https://codereview.chromium.org/
1933393002
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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