update-skps [Sun, 7 Aug 2016 08:52:47 +0000 (01:52 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2220833002
Review-Url: https://codereview.chromium.org/
2220833002
mtklein [Sun, 7 Aug 2016 03:31:30 +0000 (20:31 -0700)]
SkLiteDL: closing in
- optimizeFor(GrContext*)
- images
- basic text
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2224753002
Review-Url: https://codereview.chromium.org/
2224753002
mtklein [Sat, 6 Aug 2016 22:28:11 +0000 (15:28 -0700)]
flesh out more of SkLiteDL:
save layer, clips, simple draws
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2226513002
Review-Url: https://codereview.chromium.org/
2226513002
mtklein [Sat, 6 Aug 2016 19:51:51 +0000 (12:51 -0700)]
SkLite*
SkLiteRecorder, a new SkCanvas, fills out SkLiteDL, a new SkDrawable.
This SkDrawable is a display list similar to SkRecord and SkBigPicture / SkRecordedDrawable, but with a few new design points inspired by Android and slimming paint:
1) SkLiteDL is structured as one big contiguous array rather than the two layer structure of SkRecord. This trades away flexibility and large-op-count performance for better data locality for small to medium size pictures.
2) We keep a global freelist of SkLiteDLs, both reusing the SkLiteDL struct itself and its contiguous byte array. This keeps the expected number of mallocs per display list allocation <1 (really, ~0) for cyclical use cases.
These two together mean recording is faster. Measuring against the code we use at head, SkLiteRecorder trends about ~3x faster across various size pictures, matching speed at 0 draws and beating the special-case 1-draw pictures we have today. (I.e. we won't need those special case implementations anymore, because they're slower than this new generic code.) This new strategy records 10 drawRects() in about the same time the old strategy took for 2.
This strategy stays the winner until at least 500 drawRect()s on my laptop, where I stopped checking.
A simpler alternative to freelisting is also possible (but not implemented here), where we allow the client to manually reset() an SkLiteDL for reuse when its refcnt is 1. That's essentially what we're doing with the freelist, except tracking what's available for reuse globally instead of making the client do it.
This code is not fully capable yet, but most of the key design points are there. The internal structure of SkLiteDL is the area I expect to be most volatile (anything involving Op), but its interface and the whole of SkLiteRecorder ought to be just about done.
You can run nanobench --match picture_overhead as a demo. Everything it exercises is fully fleshed out, so what it tests is an apples-to-apples comparison as far as recording costs go. I have not yet compared playback performance.
It should be simple to wrap this into an SkPicture subclass if we want.
I won't start proposing we replace anything old with anything new quite yet until I have more ducks in a row, but this does look pretty promising (similar to the SkRecord over old SkPicture change a couple years ago) and I'd like to land, experiment, iterate, especially with an eye toward Android.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2213333002
Review-Url: https://codereview.chromium.org/
2213333002
csmartdalton [Sat, 6 Aug 2016 05:32:12 +0000 (22:32 -0700)]
Merge GrClipMaskManager into GrClipStackClip
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196393007
Review-Url: https://codereview.chromium.org/
2196393007
reed [Fri, 5 Aug 2016 21:50:19 +0000 (14:50 -0700)]
use tmp allocator for images in temp shaders
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2222593003
Review-Url: https://codereview.chromium.org/
2222593003
halcanary [Fri, 5 Aug 2016 20:51:46 +0000 (13:51 -0700)]
SkPDF: Stop using kHAdvance_PerGlyphInfo
SkPDFFont:
- never request kHAdvance_PerGlyphInfo from typeface.
- set_glyph_widths() fn uses a glyph cache to get advances.
- stop expecting vertical advances that are never requested.
- composeAdvanceData() now non-templated
- appendAdvance() one-line function removed
SkPDFDevice:
- use a glyph cache for getting repeated advances.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2219733004
Review-Url: https://codereview.chromium.org/
2219733004
reed [Fri, 5 Aug 2016 20:19:01 +0000 (13:19 -0700)]
update Image_MakeFromRasterBitmap to check uniqueIDs
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2218223002
Review-Url: https://codereview.chromium.org/
2218223002
djsollen [Fri, 5 Aug 2016 20:04:41 +0000 (13:04 -0700)]
Enable SK_DEBUG/SK_RELEASE to be defined in the user config.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2204683005
Review-Url: https://codereview.chromium.org/
2204683005
reed [Fri, 5 Aug 2016 19:07:41 +0000 (12:07 -0700)]
rename FoceCopyMode to SkCopyPixelMode
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2220603002
Review-Url: https://codereview.chromium.org/
2220603002
lsalzman [Fri, 5 Aug 2016 18:48:45 +0000 (11:48 -0700)]
SkBlendARGB32 and S32[A]_Blend_BlitRow32 are currently formulated as: SkAlphaMulQ(src, src_scale) + SkAlphaMulQ(dst, dst_scale), which boils down to ((src*src_scale)>>8) + ((dst*dst_scale)>>8). In particular, note that the intermediate precision is discarded before the two parts are added together, causing the final result to possibly inaccurate.
In Firefox, we use SkCanvas::saveLayer in combination with a backdrop that initializes the layer to the background. When this is blended back onto background using transparency, where the source and destination pixel colors are the same, the resulting color after the blend is not preserved due to the lost precision mentioned above. In cases where this operation is repeatedly performed, this causes substantially noticeable differences in color as evidenced in this downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=
1200684
In the test-case in the downstream report, essentially it does blend(src=0xFF2E3338, dst=0xFF2E3338, scale=217), which gives the result 0xFF2E3237, while we would expect to get back 0xFF2E3338.
This problem goes away if the blend is instead reformulated to effectively do (src*src_scale + dst*dst_scale)>>8, which keeps the intermediate precision during the addition before shifting it off.
This modifies the blending operations thusly. The performance should remain mostly unchanged, or possibly improve slightly, so there should be no real downside to doing this, with the benefit of making the results more accurate. Without this, it is currently unsafe for Firefox to blend a layer back onto itself that was initialized with a copy of its background.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2097883002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
[mtklein adds...]
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/
2097883002
reed [Fri, 5 Aug 2016 17:15:00 +0000 (10:15 -0700)]
use SkMakeBitmapShader to not force copies when possible
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2216403002
Review-Url: https://codereview.chromium.org/
2216403002
robertphillips [Fri, 5 Aug 2016 16:28:20 +0000 (09:28 -0700)]
Rename GrDrawingManager::drawContext to makeDrawContext
This was violating our naming convention
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2216643002
Review-Url: https://codereview.chromium.org/
2216643002
mtklein [Fri, 5 Aug 2016 15:40:03 +0000 (08:40 -0700)]
Roll GN
No major new features... just good to keep up.
https://chromium.googlesource.com/chromium/buildtools.git/+log/
60f7f9a..
9c6ad6f
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2218063002
Review-Url: https://codereview.chromium.org/
2218063002
vjiaoblack [Fri, 5 Aug 2016 14:55:01 +0000 (07:55 -0700)]
Making a sample for shadow maps for more intensive development
Merge branch 'shadow-gm' into shadow-sample
Added variable size shadow maps. Also fixed some bugs
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2198933002
Review-Url: https://codereview.chromium.org/
2198933002
robertphillips [Fri, 5 Aug 2016 14:51:29 +0000 (07:51 -0700)]
Minor clean up related to blur mask filters
This is the non-substantive portion of: https://codereview.chromium.org/
2201133002/ (Implement GPU occluded blur mask filter)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2214163003
Review-Url: https://codereview.chromium.org/
2214163003
bungeman [Fri, 5 Aug 2016 13:51:50 +0000 (06:51 -0700)]
Move to SkDataTable::MakeXXX and sk_sp.
Change SkDataTable::NewXXX to SkDataTable::MakeXXX and return sk_sp.
This updates users of SkDataTable to sk_sp as well.
There do not appear to be any external users of these methods.
Review-Url: https://codereview.chromium.org/
2211143002
egdaniel [Fri, 5 Aug 2016 13:35:39 +0000 (06:35 -0700)]
Fix vulkan resolve
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2215353003
Review-Url: https://codereview.chromium.org/
2215353003
borenet [Fri, 5 Aug 2016 13:30:10 +0000 (06:30 -0700)]
[recipes] Increase test coverage
Remove a bunch of "pragma: no cover" by removing unused code or adding test bots to cover.
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2215443003
Review-Url: https://codereview.chromium.org/
2215443003
borenet [Fri, 5 Aug 2016 12:40:59 +0000 (05:40 -0700)]
[recipes] Separate builder_spec into compile/test/perf recipes
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2205473002
Review-Url: https://codereview.chromium.org/
2205473002
borenet [Fri, 5 Aug 2016 12:18:05 +0000 (05:18 -0700)]
[recipes] Remove build environment vars from default_env
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2209423002
Review-Url: https://codereview.chromium.org/
2209423002
reed [Thu, 4 Aug 2016 22:54:41 +0000 (15:54 -0700)]
check zero-length text draws
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2215113002
TBR=
Review-Url: https://codereview.chromium.org/
2215113002
csmartdalton [Thu, 4 Aug 2016 21:43:49 +0000 (14:43 -0700)]
Remove color-dodge/burn from NVIDIA blacklist on 355.00+
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2212593002
Review-Url: https://codereview.chromium.org/
2212593002
egdaniel [Thu, 4 Aug 2016 19:50:01 +0000 (12:50 -0700)]
Implement Vulkan Resolve.
First step to getting msaa running on vulkan
BUG=skia:5127
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2210383002
Review-Url: https://codereview.chromium.org/
2210383002
robertphillips [Thu, 4 Aug 2016 19:35:46 +0000 (12:35 -0700)]
Add new GM for occluded blurmask filter draws
This splits out just the GM portion of https://codereview.chromium.org/
2201993003/ (Add GM to test out blurmaskfilter occluders) which included some API changes
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2214033002
Review-Url: https://codereview.chromium.org/
2214033002
jvanverth [Thu, 4 Aug 2016 19:30:31 +0000 (12:30 -0700)]
Get Mac viewer working with SDL
Also fixes SkiaSDLExample.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2210603003
Review-Url: https://codereview.chromium.org/
2210603003
dvonbeck [Thu, 4 Aug 2016 19:27:26 +0000 (12:27 -0700)]
This CL's base is the CL that sets up the distance vector field req. exposure: https://codereview.chromium.org/
2114993002/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2151653002
Review-Url: https://codereview.chromium.org/
2151653002
msarett [Thu, 4 Aug 2016 19:22:06 +0000 (12:22 -0700)]
Create a separate src for colorspace tests
This will allow me to run these tests in sRGB mode, while
leaving most of the image tests disabled.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206953006
Review-Url: https://codereview.chromium.org/
2206953006
borenet [Thu, 4 Aug 2016 19:16:03 +0000 (12:16 -0700)]
[recipes] Fixes for Coverage bot
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2217523002
Review-Url: https://codereview.chromium.org/
2217523002
borenet [Thu, 4 Aug 2016 18:33:01 +0000 (11:33 -0700)]
[recipes] Stop pretending that buildbot_spec is a step, simplify
Since we no longer have to call out to obtain the buildbot_spec, merge
the two functions in vars API. As a side effect, this applies
default_env to the sync steps as well, which shouldn't have an
appreciable effect on bot behavior.
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2209343002
Review-Url: https://codereview.chromium.org/
2209343002
borenet [Thu, 4 Aug 2016 18:07:10 +0000 (11:07 -0700)]
Move builder_spec, [dm|nanobench]_flags, builder_name_schema to recipes
- builder_name_schema becomes its own recipe module.
- builder_spec, dm, and nanobench flags move into vars module.
- recipe expectation diffs include:
- no more buildbot_spec.py step
- "real" dm and nanobench flags, instead of --dummy-flags
- some inconsequential stuff in visualbench, which is removed anyway.
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2215803002
Review-Url: https://codereview.chromium.org/
2215803002
halcanary [Thu, 4 Aug 2016 17:47:16 +0000 (10:47 -0700)]
SkRTConf: eliminate
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2212473002
DOCS_PREVIEW= https://skia.org/?cl=
2212473002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
[mtklein]
TBR=reed@google.com
Only removing unused public API.
Review-Url: https://codereview.chromium.org/
2212473002
msarett [Thu, 4 Aug 2016 17:39:22 +0000 (10:39 -0700)]
Update skimage VERSION: attempt 3
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2211973002
Review-Url: https://codereview.chromium.org/
2211973002
mtklein [Thu, 4 Aug 2016 16:52:11 +0000 (09:52 -0700)]
GN: make SkPMColor BGRA on Linux. All other platforms are auto-detected.
This technically shouldn't cause us to draw differently, but sometimes
does on buggy GMs, and also has us go down slightly different code paths.
It's good to be consistent with GYP, Chromium, Google3, etc.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2214023002
Review-Url: https://codereview.chromium.org/
2214023002
mtklein [Thu, 4 Aug 2016 16:47:38 +0000 (09:47 -0700)]
Slim the CQ down to the GN bots, where they exist.
If no one objects to my "GN bot plan" email, this unblocks us from removing
a bunch of non-GN bots.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2207073002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot,Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-GN-Trybot
Review-Url: https://codereview.chromium.org/
2207073002
robertphillips [Thu, 4 Aug 2016 16:03:19 +0000 (09:03 -0700)]
Add new bench for occluded blurmaskfilter draws
w/ occluders
44/44 MB 6 497us 500us 500us 502us 0% .oOOooooOO gpu bluroccludedrrect
w/o occluders
41/41 MB 5 1.08ms 1.09ms 1.12ms 1.47ms 11% .........O gpu bluroccludedrrect
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2203153002
Review-Url: https://codereview.chromium.org/
2203153002
robertphillips [Thu, 4 Aug 2016 15:45:02 +0000 (08:45 -0700)]
Remove SkSurface::MakeRenderTargetDirect
split into:
https://codereview.chromium.org/
2182543003/ (Move prepareForExternalIO from GrRenderTarget to GrDrawContext)
https://codereview.chromium.org/
2187573002/ (Reduce usage of MakeRenderTargetDirect)
https://codereview.chromium.org/
2186073002/ (Rename GrContext's newDrawContext & drawContext to makeDrawContext)
https://codereview.chromium.org/
2178353005/ (Remove use of MakeRenderTargetDirect from view system)
https://codereview.chromium.org/
2198433003/ (Remove some ancillary users of SkSurface::MakeRenderTargetDirect)
https://codereview.chromium.org/
2208483004/ (Remove GrRenderTarget member variable from SkGpuDevice)
https://codereview.chromium.org/
2211473002/ (Move GrContext::makeDrawContext to new GrContextPriv object)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2176333002
Review-Url: https://codereview.chromium.org/
2176333002
fmalita [Thu, 4 Aug 2016 15:39:41 +0000 (08:39 -0700)]
Show SVG file name in SampleApp title
R=robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2217483002
Review-Url: https://codereview.chromium.org/
2217483002
msarett [Thu, 4 Aug 2016 14:46:44 +0000 (07:46 -0700)]
Revert of Update skimage VERSION: attempt 2 (patchset #1 id:1 of https://codereview.chromium.org/
2213973002/ )
Reason for revert:
Think this is going to break Windows again.
Original issue's description:
> Update skimage VERSION: attempt 2
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2213973002
>
> Committed: https://skia.googlesource.com/skia/+/
d6dec3f4a1365d34e147234acf3c4a3629146457
TBR=borenet@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/
2216523003
msarett [Thu, 4 Aug 2016 14:29:09 +0000 (07:29 -0700)]
Update skimage VERSION: attempt 2
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2213973002
Review-Url: https://codereview.chromium.org/
2213973002
fmalita [Thu, 4 Aug 2016 13:26:05 +0000 (06:26 -0700)]
Speculative fix for internal builds
Guard the DMSrcSink SkSVGDOM.h include.
TBR=dogben@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2210583003
Review-Url: https://codereview.chromium.org/
2210583003
robertphillips [Thu, 4 Aug 2016 13:20:45 +0000 (06:20 -0700)]
Remove GrRenderTarget member variable from SkGpuDevice
Split out of: https://codereview.chromium.org/
2176333002/ (Remove SkSurface::MakeRenderTargetDirect)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2208483004
Review-Url: https://codereview.chromium.org/
2208483004
mtklein [Thu, 4 Aug 2016 13:19:33 +0000 (06:19 -0700)]
spin off easy stuff from Herb's windows GN CL
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2209533004
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/
2209533004
borenet [Thu, 4 Aug 2016 11:47:23 +0000 (04:47 -0700)]
Revert of Update to new skimage VERSION (patchset #1 id:1 of https://codereview.chromium.org/
2211633002/ )
Reason for revert:
The CIPD package is broken
Original issue's description:
> Update to new skimage VERSION
> TBR=borenet@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2211633002
>
> Committed: https://skia.googlesource.com/skia/+/
52d1be5ca7b1ba8cc450be7dd6377ea5bb73386a
TBR=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/
2216613002
fmalita [Thu, 4 Aug 2016 02:53:36 +0000 (19:53 -0700)]
Add an SVG DM source
R=mtklein@google.com,robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2209593004
Review-Url: https://codereview.chromium.org/
2209593004
mtklein [Thu, 4 Aug 2016 02:19:48 +0000 (19:19 -0700)]
Revert of SkRTConf: reduce functionality to what we use, increase simplicity (patchset #8 id:150001 of https://codereview.chromium.org/
2212473002/ )
Reason for revert:
missed GrVkPipelineStateCache
Original issue's description:
> SkRTConf: reduce functionality to what we use, increase simplicity
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2212473002
> DOCS_PREVIEW= https://skia.org/?cl=
2212473002
> CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> [mtklein]
> TBR=reed@google.com
> Only removing unused public API.
>
> Committed: https://skia.googlesource.com/skia/+/
ef59974708dade6fa72fb0218d4f8a9590175c47
TBR=halcanary@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/
2215433003
msarett [Wed, 3 Aug 2016 22:48:32 +0000 (15:48 -0700)]
Update to new skimage VERSION
TBR=borenet@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2211633002
Review-Url: https://codereview.chromium.org/
2211633002
msarett [Wed, 3 Aug 2016 22:46:33 +0000 (15:46 -0700)]
Fix compiler complaints about uninit vars
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206143003
Review-Url: https://codereview.chromium.org/
2206143003
halcanary [Wed, 3 Aug 2016 22:30:37 +0000 (15:30 -0700)]
SkRTConf: reduce functionality to what we use, increase simplicity
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2212473002
DOCS_PREVIEW= https://skia.org/?cl=
2212473002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
[mtklein]
TBR=reed@google.com
Only removing unused public API.
Review-Url: https://codereview.chromium.org/
2212473002
halcanary [Wed, 3 Aug 2016 22:08:04 +0000 (15:08 -0700)]
GN: build sfntly, icu, harfbuzz
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2200833010
Review-Url: https://codereview.chromium.org/
2200833010
robertphillips [Wed, 3 Aug 2016 21:26:53 +0000 (14:26 -0700)]
Move GrContext::makeDrawContext to new GrContextPriv object
We don't want external clients to be able to call the wrapping makeDrawContext. The "creating" makeDrawContext needs to be public for external image filters.
The 3 specialized drawContext creators on GrContextPriv (to wrap backend objects) are also to be kept from public use and will be used to remove SkSurface::MakeRenderTargetDirect.
Split out of: https://codereview.chromium.org/
2176333002/ (Remove SkSurface::MakeRenderTargetDirect)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2211473002
Review-Url: https://codereview.chromium.org/
2211473002
mtklein [Wed, 3 Aug 2016 21:18:22 +0000 (14:18 -0700)]
Require gn format in presubmit
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2203283003
Review-Url: https://codereview.chromium.org/
2203283003
halcanary [Wed, 3 Aug 2016 21:17:53 +0000 (14:17 -0700)]
SkPDF: fewer GYP_DEFINES
also: hack a unit test
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2208743003
Review-Url: https://codereview.chromium.org/
2208743003
bungeman [Wed, 3 Aug 2016 20:32:32 +0000 (13:32 -0700)]
Convert SkAutoTUnref<SkData> to sk_sp<SkData>.
With the move from SkData::NewXXX to SkData::MakeXXX most
SkAutoTUnref<SkData> were changed to sk_sp<SkData>. However,
there are still a few SkAutoTUnref<SkData> around, so clean
them up.
Review-Url: https://codereview.chromium.org/
2212493002
msarett [Wed, 3 Aug 2016 19:59:27 +0000 (12:59 -0700)]
Perform color correction on png decodes
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184543003
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/
2184543003
ethannicholas [Wed, 3 Aug 2016 19:43:36 +0000 (12:43 -0700)]
added initial GLSL support to skslc
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2185393003
Review-Url: https://codereview.chromium.org/
2185393003
fmenozzi [Wed, 3 Aug 2016 19:12:19 +0000 (12:12 -0700)]
Add new benchmark for testing special hard stop gradient cases
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206713002
Review-Url: https://codereview.chromium.org/
2206713002
halcanary [Wed, 3 Aug 2016 18:16:56 +0000 (11:16 -0700)]
SkPDF: PDFShader code modernized.
Motivation: reduce code complexity.
SkCanon stores SkPDFShader::State next to SkDFObject, not inside.
many places use sk_sp<T> rather than T* to represent ownership.
SkPDFShader::State no longer holds bitmap.
SkPDFShader::State gets move constructor, no longer heap-allocated.
Classes removed:
SkPDFFunctionShader
SkPDFAlphaFunctionShader
SkPDFImageShader
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193973002
Review-Url: https://codereview.chromium.org/
2193973002
mtklein [Wed, 3 Aug 2016 18:09:59 +0000 (11:09 -0700)]
Make SK_BUILD_FOR_WIN32 auto-detection work.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2205173003
No public API changes
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/
2205173003
msarett [Wed, 3 Aug 2016 18:04:01 +0000 (11:04 -0700)]
Finish delete of SkNinePatch
TBR=djsollen@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206333002
Review-Url: https://codereview.chromium.org/
2206333002
halcanary [Wed, 3 Aug 2016 17:43:55 +0000 (10:43 -0700)]
SkShaper: optionally disable harfbuzz
also, re-enable warnings.
motivation: used by me for PDF testing.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2201153002
Review-Url: https://codereview.chromium.org/
2201153002
borenet [Wed, 3 Aug 2016 17:38:44 +0000 (10:38 -0700)]
[Recipes] Move test and perf steps into test and perf recipes
This looks like another big change, but I really just moved blocks of code around. Again, no expectations diffs because no behavior is changed.
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2198973002
Review-Url: https://codereview.chromium.org/
2198973002
fmalita [Wed, 3 Aug 2016 17:21:11 +0000 (10:21 -0700)]
[SVGDom] Initial SVGLength support
Mostly plumb new length types, but also introduce a stateful parser,
rect shape and named color support.
R=reed@google.com,robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202053002
Review-Url: https://codereview.chromium.org/
2202053002
borenet [Wed, 3 Aug 2016 17:10:07 +0000 (10:10 -0700)]
Fix fake_specs.py, update recipe expectation
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2200763002
Review-Url: https://codereview.chromium.org/
2200763002
robertphillips [Wed, 3 Aug 2016 16:40:39 +0000 (09:40 -0700)]
Fix dtor bug in SkLights
The overriding problem was that the SkTDArray wasn't calling the SkLight destructors.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206823003
Review-Url: https://codereview.chromium.org/
2206823003
mtklein [Wed, 3 Aug 2016 15:28:20 +0000 (08:28 -0700)]
GN: gpu support in tools
If you want to try this out, the DOCS_PREVIEW link is a quickstart.
Are the GrGLCreateNativeInteface_* meant to be part of Skia-the-library
or just used by testing tools? I've got it written here as tool-only,
but we could easily move it to libskia if it's a thing we want to ship.
I'm honestly not sure I understand how this linked before without a definition
of GrGLCreateNativeInterface(). Or are there two, one real and one no-op
default with some sort of weak linking setup? dlopen()?
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2201233003
DOCS_PREVIEW= https://skia.org/user/quick/gn?cl=
2201233003
Review-Url: https://codereview.chromium.org/
2201233003
mtklein [Wed, 3 Aug 2016 15:28:15 +0000 (08:28 -0700)]
SK_GAMMA_SRGB is the default.
Looks like that other CL stuck just fine.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2207013002
Review-Url: https://codereview.chromium.org/
2207013002
borenet [Wed, 3 Aug 2016 15:23:10 +0000 (08:23 -0700)]
Re-organize Skia recipes
Break Skia recipe module into:
- skia_vars: defines and stores variables (eg. paths)
- skia_step: utilities for running Skia steps
- skia_flavor: flavor-specific stuff
- skia: top-level setup, checkout, test/perf steps, etc etc
This establishes a saner dependency structure for the recipes; skia_vars
is at the bottom level, skia_step depends on it, skia_flavor depends on
both of them, skia depends on all of the above, and the recipes
themselves may depend on any or all of them.
Next steps:
- Merge buildbot_spec into skia_vars
- Move test_steps and perf_steps from skia recipe_module into
swarm_test and swarm_perf recipes
- Cleaner checkout_steps process
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2198173002
Review-Url: https://codereview.chromium.org/
2198173002
fmenozzi [Wed, 3 Aug 2016 14:58:06 +0000 (07:58 -0700)]
Update hardstop_gradients GM to include more special cases
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2204873005
Review-Url: https://codereview.chromium.org/
2204873005
deanm [Wed, 3 Aug 2016 14:21:04 +0000 (07:21 -0700)]
Don't leave fResScale uninitialized when constructing an SkStroke.
Set a default value of 1. Users can set it with setResScale, but it's better
that the constructor doesn't just leave the field uninitialized otherwise.
R=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2207753003
Review-Url: https://codereview.chromium.org/
2207753003
msarett [Wed, 3 Aug 2016 13:53:26 +0000 (06:53 -0700)]
Fix copy-paste bugs in SkCanvas Nine and Lattice
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2203983002
Review-Url: https://codereview.chromium.org/
2203983002
mtklein [Tue, 2 Aug 2016 23:02:05 +0000 (16:02 -0700)]
GN: add tests to DM
depends on https://codereview.chromium.org/
2202203003 and https://codereview.chromium.org/
2208433002
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2203143002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN-Trybot,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug-GN-Trybot,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-GN-Trybot
Review-Url: https://codereview.chromium.org/
2203143002
dvonbeck [Tue, 2 Aug 2016 21:46:34 +0000 (14:46 -0700)]
Fixed ambient lighting calculations on SkLightingShader
BUG=skia:5520
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202233003
Review-Url: https://codereview.chromium.org/
2202233003
bungeman [Tue, 2 Aug 2016 21:40:46 +0000 (14:40 -0700)]
Move off SK_SUPPORT_LEGACY_DATA_FACTORIES.
This moves Skia code off of SK_SUPPORT_LEGACY_DATA_FACTORIES.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206633004
Review-Url: https://codereview.chromium.org/
2206633004
mtklein [Tue, 2 Aug 2016 21:28:26 +0000 (14:28 -0700)]
GN: get echo-headers sources via exec_script
exec_script runs every time gn does, which is explicitly on every one of our
bot runs. That should be enough to obviate the .git/logs/HEAD hack.
Easiest way to do this was to swap around find.py's argument order to allow
multiple search directories. This is the root of all the .gyp changes.
This moves the blacklist into BUILD.gn, which I think is nice.
It expands it a little as we're now searching recursively, into include/gpu/vk
which we can't include safely without the Vulkan SDK.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2205903004
Review-Url: https://codereview.chromium.org/
2205903004
msarett [Tue, 2 Aug 2016 20:55:10 +0000 (13:55 -0700)]
Delete SkNinePatch
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206663002
Review-Url: https://codereview.chromium.org/
2206663002
mtklein [Tue, 2 Aug 2016 20:05:54 +0000 (13:05 -0700)]
GN: re-run echo_headers if git state changes.
This should mean it re-runs if a header is added or removed.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2206683002
Review-Url: https://codereview.chromium.org/
2206683002
mtklein [Tue, 2 Aug 2016 19:57:32 +0000 (12:57 -0700)]
Delete SkARGBImageEncoder.
It appears to be unused now except by its unit test, also deleted.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2208433002
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/
2208433002
mtklein [Tue, 2 Aug 2016 19:20:36 +0000 (12:20 -0700)]
not much point to SK_SUPPORT_PDF
It only controls a few minor things in testing tools,
which can always assume PDF support is present.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202203003
Review-Url: https://codereview.chromium.org/
2202203003
msarett [Tue, 2 Aug 2016 18:30:30 +0000 (11:30 -0700)]
Refactor of SkColorSpaceXformOpts
(1) Performance is better or stays the same.
(2) Code is split into functions (RasterPipeline-ish
design). IMO, it's not really more or less readable.
But I think it's now much easier add capabilities,
apply optimizations, or do more refactors. Or to
actually use RasterPipeline. I help back from trying
any of these to try to keep this CL sane.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2194303002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/
2194303002
bungeman [Tue, 2 Aug 2016 18:18:48 +0000 (11:18 -0700)]
Remove now unused source files.
These files have been renamed and exist only as stubs for transition
reasons. Remove these now unused stubs.
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Review-Url: https://codereview.chromium.org/
2197423003
mtklein [Tue, 2 Aug 2016 18:13:48 +0000 (11:13 -0700)]
gn: fix fiddle
- __SK_FORCE_IMAGE_DECODER_LINKING makes sure the PNG encoder is linked
- updated path to make working with sample draw.cpp easier.
No public API changes.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202353002
Review-Url: https://codereview.chromium.org/
2202353002
bungeman [Tue, 2 Aug 2016 17:43:29 +0000 (10:43 -0700)]
Remove 'Ulta' width.
All users of this old name appear to be updated.
TBR=reed
Removing unused and mis-spelled API.
Review-Url: https://codereview.chromium.org/
2206453003
hstern [Tue, 2 Aug 2016 17:35:57 +0000 (10:35 -0700)]
Add Overstroke gm
Already exists as a sampleapp, but sampleapps don't get tested
automatically
BUG=skia:5405,5406,chrome:589769
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161633002
Review-Url: https://codereview.chromium.org/
2161633002
hstern [Tue, 2 Aug 2016 16:17:59 +0000 (09:17 -0700)]
Add code to lua paths to get the fill path and get lists of verbs and
points
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2199823002
Review-Url: https://codereview.chromium.org/
2199823002
borenet [Tue, 2 Aug 2016 15:37:50 +0000 (08:37 -0700)]
Fix build_command_buffer for Windows
BUG=skia:5597
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2207563002
Review-Url: https://codereview.chromium.org/
2207563002
msarett [Tue, 2 Aug 2016 15:05:56 +0000 (08:05 -0700)]
Add drawImageLattice() and drawBitmapLattice() APIs
The specified image/bitmap is divided into rects, which
can be draw stretched, shrunk, or at a fixed size. Will be
used by Android to draw 9patch (which are acutally N-patch)
images.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=
1992283002
Review-Url: https://codereview.chromium.org/
1992283002
bungeman [Tue, 2 Aug 2016 14:07:33 +0000 (07:07 -0700)]
Rename FontConfigInterface font manager files.
These files are now so badly misnamed that it is causing problems.
The original files are kept as shells until Chromium and PDFium can
be updated. After Chromium and PDFium builds are updated, the old
files will be removed and the cmake and bzl builds will be updated.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2199973002
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Review-Url: https://codereview.chromium.org/
2199973002
borenet [Tue, 2 Aug 2016 14:02:52 +0000 (07:02 -0700)]
Fix Chrome build for RecreateSKPs and CommandBuffer bots for GYP->GN
BUG=skia:5597
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2199273002
Review-Url: https://codereview.chromium.org/
2199273002
borenet [Tue, 2 Aug 2016 13:50:49 +0000 (06:50 -0700)]
More fixes for SwarmBucket
BUG=skia:5581
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202053005
NOTRY=true
Review-Url: https://codereview.chromium.org/
2202053005
reed [Tue, 2 Aug 2016 13:12:06 +0000 (06:12 -0700)]
Always return ImageShader, even from SkShader::MakeBitmapShader
Lessons learned
1. ImageShader (correctly) always compresses (typically via PNG) during serialization. This has the surprise results of
- if the image was marked opaque, but has some non-opaque pixels (i.e. bug in blitter or caller), then compressing may "fix" those pixels, making the deserialized version draw differently. bug filed.
- 565 compressess/decompresses to 8888 (at least on Mac), which draws differently (esp. under some filters). bug filed.
2. BitmapShader did not enforce a copy for mutable bitmaps, but ImageShader does (since it creates an Image). Thus the former would see subsequent changes to the pixels after shader creation, while the latter does not, hence the change to the BlitRow test to avoid this modify-after-create pattern. I sure hope this prev. behavior was a bug/undefined-behavior, since this CL changes that.
BUG=skia:5595
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2195893002
Review-Url: https://codereview.chromium.org/
2195893002
borenet [Tue, 2 Aug 2016 12:11:15 +0000 (05:11 -0700)]
Roll recipe DEPS
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2205863002
Review-Url: https://codereview.chromium.org/
2205863002
mtklein [Mon, 1 Aug 2016 22:50:27 +0000 (15:50 -0700)]
GN: add some missing SkCodec defines
TURBO_HAS_...
WEBP_SWAP_16BIT_CSP
BUG=skia:5591
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196413003
Review-Url: https://codereview.chromium.org/
2196413003
msarett [Mon, 1 Aug 2016 22:08:03 +0000 (15:08 -0700)]
Fix SkJpegCodec::onSkipScanlines when TURBO_HAS_SKIP is not defined
I think I just broke this in:
https://codereview.chromium.org/
2174493002/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202763002
Review-Url: https://codereview.chromium.org/
2202763002
msarett [Mon, 1 Aug 2016 21:23:32 +0000 (14:23 -0700)]
Hide (mostly) unused SkColorSpace writeToICC() function
This originally was intended to be used for serialization, but
we've chosen another approach.
Includes a revert of:
https://codereview.chromium.org/
2012133003/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193223002
Review-Url: https://codereview.chromium.org/
2193223002
mtklein [Mon, 1 Aug 2016 20:17:47 +0000 (13:17 -0700)]
Sketch SkPictureRecorder::optimizeFor(GrContext*).
I'm open to API suggestions.
We can pass this in finishAs(), up front, whatever.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2203453002
Review-Url: https://codereview.chromium.org/
2203453002
mtklein [Mon, 1 Aug 2016 20:08:46 +0000 (13:08 -0700)]
GN: use the correct fontconfig font mugger.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202733002
Review-Url: https://codereview.chromium.org/
2202733002
bungeman [Mon, 1 Aug 2016 19:37:13 +0000 (12:37 -0700)]
Replace 'Ulta' with 'Ultra'.
Start fixing a typo in an enum name.
TBR=reed
This is just a typo fix.
Review-Url: https://codereview.chromium.org/
2202703002
herb [Mon, 1 Aug 2016 19:26:51 +0000 (12:26 -0700)]
Pick the right download tool for windows.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2197423002
Review-Url: https://codereview.chromium.org/
2197423002
dvonbeck [Mon, 1 Aug 2016 18:37:45 +0000 (11:37 -0700)]
Added distance vector support for CircleGeometryProcessor
This CL's base is the CL that sets up the distance vector field req. exposure: https://codereview.chromium.org/
2114993002/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2190023002
Committed: https://skia.googlesource.com/skia/+/
779e1924eaf7c5652dee93e0e8e975bbf5723b37
Review-Url: https://codereview.chromium.org/
2190023002