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
reed [Mon, 1 Aug 2016 18:24:14 +0000 (11:24 -0700)]
implement isABitmap for imageshader, return localmatrix for bitmap's impl
For imageshader, I only return true if the image is explicitly raster-backed. I do not return true for texture, nor for generator (i.e. lazy/picture) backed. Is that ok?
BUG=skia:5592
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2197323002
Review-Url: https://codereview.chromium.org/
2197323002
mtklein [Mon, 1 Aug 2016 18:24:03 +0000 (11:24 -0700)]
Replace old SkRecords RefBox with sk_sp.
The main differences are that RefBox's constructor reffed and sk_sp's doesn't,
and that RefBox auto-casts to the underlying pointer while sk_sp doesn't.
I've added a bunch of sk_ref_sp() and .get() to compensate.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2197243003
Review-Url: https://codereview.chromium.org/
2197243003
reed [Mon, 1 Aug 2016 18:12:58 +0000 (11:12 -0700)]
make an image from a mutable bitmap
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2199813002
Review-Url: https://codereview.chromium.org/
2199813002
dvonbeck [Mon, 1 Aug 2016 18:01:56 +0000 (11:01 -0700)]
GrFP can express distance vector field req., program builder declares variable for it
This update allows fragment processors to require a field of vectors to the nearest edge. This requirement propagates:
- from child FPs to their parent
- from parent FPs to the GrPaint
- from GrPaint through the PipelineBuilder into GrPipeline
- acessed from GrPipeline by GrGLSLProgramBuilder
GrGLSL generates a variable for the distance vector and passes it down to the GeometryProcessor->emitCode() method.
This CL's base is the CL for adding the BevelNormalSource API: https://codereview.chromium.org/
2080993002
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2114993002
Committed: https://skia.googlesource.com/skia/+/
4ef6dfa7089c092c67b0d5ec34e89c1e319af196
Review-Url: https://codereview.chromium.org/
2114993002
mtklein [Mon, 1 Aug 2016 17:39:10 +0000 (10:39 -0700)]
GN: only include headers in echo_headers.py
This keeps things like VIM .swp files out of skia.h.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2202643002
Review-Url: https://codereview.chromium.org/
2202643002
vjiaoblack [Mon, 1 Aug 2016 17:02:31 +0000 (10:02 -0700)]
adding new GM to demostrate new shadows
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2118553002
Review-Url: https://codereview.chromium.org/
2118553002
msarett [Mon, 1 Aug 2016 16:43:08 +0000 (09:43 -0700)]
Add SkColorSpace::Equals() API
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196743002
Review-Url: https://codereview.chromium.org/
2196743002
mtklein [Mon, 1 Aug 2016 16:22:12 +0000 (09:22 -0700)]
Default fake gamma to sRGB.
No one appears to be using the default 2.2.
This makes SK_GAMMA_SRGB the default / a no-op, which seems more realistic.
Chrome's explicitly setting SK_GAMMA_EXPONENT or SK_GAMMA_SRGB.
We set Android platform explicitly to 1.4.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2198073002
Review-Url: https://codereview.chromium.org/
2198073002
mtklein [Mon, 1 Aug 2016 15:37:48 +0000 (08:37 -0700)]
GN: define fake-gamma configuration to match our bots.
This should fix many of the GN text diffs in Gold.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2195393002
Review-Url: https://codereview.chromium.org/
2195393002
mtklein [Mon, 1 Aug 2016 13:56:40 +0000 (06:56 -0700)]
GN: Define SK_HAS_... in all Skia-private code, not just libskia.
SkForceLinking wasn't force-linking the WEBP encoder, or any encoder.
(The others must be explicitly used.)
This should help the GN Debug Perf bots progress past
Running Encode_color_wheel.jpg_WEBP nonrendering
../../../bench/EncoderBench.cpp:58: fatal error: "assert(data)"
On my laptop, a debug nanobench run now finishes.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196243002
Review-Url: https://codereview.chromium.org/
2196243002
robertphillips [Mon, 1 Aug 2016 12:53:23 +0000 (05:53 -0700)]
Remove some ancillary users of SkSurface::MakeRenderTargetDirect
calved off of: https://codereview.chromium.org/
2176333002/ (Remove SkSurface::MakeRenderTargetDirect)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2198433003
Review-Url: https://codereview.chromium.org/
2198433003
borenet [Mon, 1 Aug 2016 12:08:52 +0000 (05:08 -0700)]
Stop running nanobench on Test.*Debug bots
We'll need to add Perf.*Debug bots to achieve the same coverage.
BUG=skia:4768
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2189393002
NOTREECHECKS=true
Review-Url: https://codereview.chromium.org/
2189393002
mtklein [Sat, 30 Jul 2016 21:21:10 +0000 (14:21 -0700)]
Revert of GrFP can express distance vector field req., program builder declares variable for it (patchset #20 id:370001 of https://codereview.chromium.org/
2114993002/ )
Reason for revert:
UBSAN says we're reading a bad bool here:
bool usesDistanceVectorField() const { return fUsesDistanceVectorField; }
../../../include/gpu/GrPaint.h:83:51: runtime error: load of value 239, which is not a valid value for type 'bool'
SUMMARY: AddressSanitizer: undefined-behavior ../../../include/gpu/GrPaint.h:83:51 in
Seems likely also the root of Valgrind failure:
https://luci-milo.appspot.com/swarming/task/
30522e4f2241cb10
Original issue's description:
> GrFP can express distance vector field req., program builder declares variable for it
>
> This update allows fragment processors to require a field of vectors to the nearest edge. This requirement propagates:
>
> - from child FPs to their parent
> - from parent FPs to the GrPaint
> - from GrPaint through the PipelineBuilder into GrPipeline
> - acessed from GrPipeline by GrGLSLProgramBuilder
>
> GrGLSL generates a variable for the distance vector and passes it down to the GeometryProcessor->emitCode() method.
>
> This CL's base is the CL for adding the BevelNormalSource API: https://codereview.chromium.org/
2080993002
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2114993002
>
> Committed: https://skia.googlesource.com/skia/+/
4ef6dfa7089c092c67b0d5ec34e89c1e319af196
TBR=egdaniel@google.com,robertphillips@google.com,bsalomon@google.com,dvonbeck@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:
Review-Url: https://codereview.chromium.org/
2201613002
mtklein [Sat, 30 Jul 2016 21:18:49 +0000 (14:18 -0700)]
Revert of Tidy up SkNx_neon. (patchset #3 id:40001 of https://codereview.chromium.org/
2196773002/ )
Reason for revert:
https://luci-milo.appspot.com/swarming/task/
3055149a25621b10
Not Nexus 5 specific. Reproduces on Pixel C with --gcc -t Debug -d arm_v7_neon. Not sure about other configs yet.
Original issue's description:
> Tidy up SkNx_neon.
>
> This takes advantage of the fact that all the compilers we use that
> support NEON implement it with their own vector extensions. This means
> normal things like c = a + b work on the underlying vector types already.
> Odd instructions like min or saturated add need to stay intrinsics.
>
> Also, rearrange functions to a more consistent order.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196773002
> CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/
6ad22315eb6eacfcd35497cd118440a619d05b18
TBR=msarett@google.com,mtklein@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:
Review-Url: https://codereview.chromium.org/
2196953002
mtklein [Sat, 30 Jul 2016 20:31:52 +0000 (13:31 -0700)]
Revert of Added distance vector support for CircleGeometryProcessor (patchset #4 id:60001 of https://codereview.chromium.org/
2190023002/ )
Reason for revert:
Reverting so I can revert https://codereview.chromium.org/
2114993002/
Original issue's description:
> 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
TBR=egdaniel@google.com,robertphillips@google.com,dvonbeck@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:
Review-Url: https://codereview.chromium.org/
2196053002
mtklein [Sat, 30 Jul 2016 14:50:15 +0000 (07:50 -0700)]
Docs: ooops, debug is the default in GN.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2195173002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
2195173002
TBR=jcgregorio@google.com
Review-Url: https://codereview.chromium.org/
2195173002
mtklein [Fri, 29 Jul 2016 21:27:41 +0000 (14:27 -0700)]
SkRasterPipeline: new APIs for fusion
Most visibly this adds a macro SK_RASTER_STAGE that cuts down on the boilerplate of defining a raster pipeline stage function.
Most interestingly, SK_RASTER_STAGE doesn't define a SkRasterPipeline::Fn, but rather a new type EasyFn. This function is always static and inlined, and the details of interacting with the SkRasterPipeline::Stage are taken care of for you: ctx is just passed as a void*, and st->next() is always called. All EasyFns have to do is take care of the meat of the work: update r,g,b, etc. and read and write from their context.
The really neat new feature here is that you can either add EasyFns to a pipeline with the new append() functions, _or_ call them directly yourself. This lets you use the same set of pieces to build either a pipelined version of the function or a custom, fused version. The bench shows this off.
On my desktop, the pipeline version of the bench takes about 25% more time to run than the fused one.
The old approach to creating stages still works fine. I haven't updated SkXfermode.cpp or SkArithmeticMode.cpp because they seemed just as clear using Fn directly as they would have using EasyFn.
If this looks okay to you I will rework the comments in SkRasterPipeline to explain SK_RASTER_STAGE and EasyFn a bit as I've done here in the CL description.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2195853002
Review-Url: https://codereview.chromium.org/
2195853002
mtklein [Fri, 29 Jul 2016 19:28:43 +0000 (12:28 -0700)]
simplify neon shifts
These still generate vshr/vshl with immediates with both GCC and Clang.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2194953002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Based on https://codereview.chromium.org/
2196773002
Review-Url: https://codereview.chromium.org/
2194953002
bsalomon [Fri, 29 Jul 2016 19:24:29 +0000 (12:24 -0700)]
If scissor would be empty in GrClipMaskManager::SetupClipping indicate draw can be skipped.
BUG=chromium:632185
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196803002
Review-Url: https://codereview.chromium.org/
2196803002
csmartdalton [Fri, 29 Jul 2016 19:19:28 +0000 (12:19 -0700)]
Add ES 3.0 fallback for instanced rendering
Adds the ability for GLInstancedRendering to use
glDrawElementsInstanced when glDrawElementsIndirect is not supported.
The only remaining 3.1 dependency now is EXT_texture_buffer.
Also moves the cap for glDraw*Instanced out of GrCaps and into
GrGLCaps.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193303002
Review-Url: https://codereview.chromium.org/
2193303002
egdaniel [Fri, 29 Jul 2016 18:47:58 +0000 (11:47 -0700)]
Fix vulkan build
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193883002
Review-Url: https://codereview.chromium.org/
2193883002
dvonbeck [Fri, 29 Jul 2016 18:11:51 +0000 (11:11 -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
Review-Url: https://codereview.chromium.org/
2190023002
mtklein [Fri, 29 Jul 2016 18:11:12 +0000 (11:11 -0700)]
Tidy up SkNx_neon.
This takes advantage of the fact that all the compilers we use that
support NEON implement it with their own vector extensions. This means
normal things like c = a + b work on the underlying vector types already.
Odd instructions like min or saturated add need to stay intrinsics.
Also, rearrange functions to a more consistent order.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196773002
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/
2196773002
jcgregorio [Fri, 29 Jul 2016 17:54:30 +0000 (10:54 -0700)]
perf: Upload results to gs://skia-perf, not gs://chromium-skia-gm.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2197643002
Review-Url: https://codereview.chromium.org/
2197643002
bungeman [Fri, 29 Jul 2016 17:47:45 +0000 (10:47 -0700)]
Conditionally define SK_SUPPORT_LEGACY_DATA_FACTORIES.
In order to remove this define it will first need to be defined in
Chromium. However, doing so causes redefinition warnings as errors.
Only define this macro if it is not already defined to avoid this.
TBR=reed
This doesn't change any API.
Review-Url: https://codereview.chromium.org/
2198453002
egdaniel [Fri, 29 Jul 2016 17:46:06 +0000 (10:46 -0700)]
Properly recycle uniform buffers in vulkan
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2195713002
Review-Url: https://codereview.chromium.org/
2195713002
mtklein [Fri, 29 Jul 2016 17:41:37 +0000 (10:41 -0700)]
Add some GN builders to the CQ.
This parallels the set of bots we use to gate commits already.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2189283003
Review-Url: https://codereview.chromium.org/
2189283003
halcanary [Fri, 29 Jul 2016 17:13:18 +0000 (10:13 -0700)]
SkPDF: PDFStream has-a not is-a PDFDict
Motivation:
SkPDFStream and SkPDFSharedStream now work the same.
Also:
- move SkPDFStream into SkPDFTypes (it's a fundamental PDF type).
- minor refactor of SkPDFSharedStream
- SkPDFSharedStream takes unique_ptr to represent ownership
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2190883003
Review-Url: https://codereview.chromium.org/
2190883003
mtklein [Fri, 29 Jul 2016 17:10:15 +0000 (10:10 -0700)]
SkNx: add Sk4u
This lets us get at logical >> in a nicely principled way.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2197683002
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/
2197683002
dvonbeck [Fri, 29 Jul 2016 16:53:56 +0000 (09:53 -0700)]
GrFP can express distance vector field req., program builder declares variable for it
This update allows fragment processors to require a field of vectors to the nearest edge. This requirement propagates:
- from child FPs to their parent
- from parent FPs to the GrPaint
- from GrPaint through the PipelineBuilder into GrPipeline
- acessed from GrPipeline by GrGLSLProgramBuilder
GrGLSL generates a variable for the distance vector and passes it down to the GeometryProcessor->emitCode() method.
This CL's base is the CL for adding the BevelNormalSource API: https://codereview.chromium.org/
2080993002
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2114993002
Review-Url: https://codereview.chromium.org/
2114993002
mtklein [Fri, 29 Jul 2016 16:10:31 +0000 (09:10 -0700)]
GN: components as static library instead of source set
This also puts the .a in the top-level of the ouptut directory, just
like we do for .so files. It's less required than for .sos, but it
does make it easier to find the .a.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2197633002
Review-Url: https://codereview.chromium.org/
2197633002
msarett [Fri, 29 Jul 2016 15:58:33 +0000 (08:58 -0700)]
Fix various SkColorSpace bugs
(1) Fixes serialization/deserialization of wacky SkColorSpaces
(2) Fix gamma equals checking
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2194903002
Review-Url: https://codereview.chromium.org/
2194903002
egdaniel [Fri, 29 Jul 2016 15:55:53 +0000 (08:55 -0700)]
Use HashSet instead of Dynamic hash for tracking vulkan resources
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2194823003
Review-Url: https://codereview.chromium.org/
2194823003
fmalita [Fri, 29 Jul 2016 15:52:03 +0000 (08:52 -0700)]
[SVGDom] Parse style attributes
Dispatch style-encoded (style="foo: bar; ...") attributes via normal
attribute setters.
R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193663002
Review-Url: https://codereview.chromium.org/
2193663002
halcanary [Fri, 29 Jul 2016 15:41:33 +0000 (08:41 -0700)]
SkPDF: flip saveLayer rightside up
Broken in https://skia.googlesource.com/skia/+/
4b1e17e
BUG=632574
TBR=tomhudson@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2197623002
Review-Url: https://codereview.chromium.org/
2197623002
mtklein [Fri, 29 Jul 2016 15:35:54 +0000 (08:35 -0700)]
GN: quick doc
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2192203002
NOTRY=true
DOCS_PREVIEW= https://skia.org/user/quick/gn?cl=
2192203002
Review-Url: https://codereview.chromium.org/
2192203002
robertphillips [Fri, 29 Jul 2016 15:28:25 +0000 (08:28 -0700)]
Remove GrContext::applyGamma
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2191323002
Review-Url: https://codereview.chromium.org/
2191323002
csmartdalton [Fri, 29 Jul 2016 15:14:20 +0000 (08:14 -0700)]
Add test configs for instanced rendering
Adds the following configs and enables them on select bots:
glinst, glinst4, glinstdit4, glinst16, glinstdit16,
esinst, esinst4, esinstdit4
Makes general changes to GrContextOptions, GrCaps, etc. to facilitate
this.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2182783004
Review-Url: https://codereview.chromium.org/
2182783004
egdaniel [Fri, 29 Jul 2016 14:36:52 +0000 (07:36 -0700)]
Merge ProgramDesc's for GL and Vulkan
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184413002
Review-Url: https://codereview.chromium.org/
2184413002
msarett [Fri, 29 Jul 2016 13:23:33 +0000 (06:23 -0700)]
Add color space xform support to SkJpegCodec (includes F16!)
Also changes SkColorXform to support:
RGBA->RGBA
RGBA->BGRA
Instead of:
RGBA->SkPMColor
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2174493002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Committed: https://skia.googlesource.com/skia/+/
73d55332e2846dd05e9efdaa2f017bcc3872884b
Review-Url: https://codereview.chromium.org/
2174493002
mtklein [Fri, 29 Jul 2016 13:03:52 +0000 (06:03 -0700)]
GN: ccache+clang needs -Qunused-arguments
An alternative is to define CCACHE_CPP2, but
I thought I'd try this more visible way first.
(CCACHE_CPP2 may turn out to be required anyway
if we start seeing warnings about tautological compares.)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193203002
TBR=jcgregorio@google.com
NOTRY=true
Review-Url: https://codereview.chromium.org/
2193203002
mtklein [Fri, 29 Jul 2016 12:39:35 +0000 (05:39 -0700)]
GN: Always quote cc and cxx.
To fix:
ERROR at the command-line "--args":1:34: Unexpected token '+'
is_debug=true cc=clang cxx=clang++
TBR=jcgregorio@google.com
NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193593003
Review-Url: https://codereview.chromium.org/
2193593003
mtklein [Fri, 29 Jul 2016 12:07:39 +0000 (05:07 -0700)]
GN: use ccache if available and the requested compiler.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2186553006
Review-Url: https://codereview.chromium.org/
2186553006
mtklein [Fri, 29 Jul 2016 02:14:07 +0000 (19:14 -0700)]
Add another GM to skip in serialize mode.
See https://luci-milo.appspot.com/swarming/task/
304ced7bada3b310/steps/dm/0/stdout
Also update .json.
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Debug-Trybot
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2196543002
Review-Url: https://codereview.chromium.org/
2196543002
msarett [Fri, 29 Jul 2016 00:11:18 +0000 (17:11 -0700)]
Revert of Add color space xform support to SkJpegCodec (includes F16!) (patchset #9 id:260001 of https://codereview.chromium.org/
2174493002/ )
Reason for revert:
Breaking MSAN
Original issue's description:
> Add color space xform support to SkJpegCodec (includes F16!)
>
> Also changes SkColorXform to support:
> RGBA->RGBA
> RGBA->BGRA
>
> Instead of:
> RGBA->SkPMColor
>
> TBR=reed@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2174493002
> CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/
73d55332e2846dd05e9efdaa2f017bcc3872884b
TBR=mtklein@google.com,reed@google.com,herb@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/
2195523002
robertphillips [Thu, 28 Jul 2016 22:17:34 +0000 (15:17 -0700)]
Remove use of MakeRenderTargetDirect from view system
Here is the CL that sent me down the SkGammaColorFilter path
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2178353005
Review-Url: https://codereview.chromium.org/
2178353005
benjaminwagner [Thu, 28 Jul 2016 22:12:21 +0000 (15:12 -0700)]
Update public.bzl based on internal cl/
128616707.
TBR=mtklein@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2186373002
Review-Url: https://codereview.chromium.org/
2186373002
msarett [Thu, 28 Jul 2016 22:06:16 +0000 (15:06 -0700)]
Add color space xform support to SkJpegCodec (includes F16!)
Also changes SkColorXform to support:
RGBA->RGBA
RGBA->BGRA
Instead of:
RGBA->SkPMColor
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2174493002
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/
2174493002
mtklein [Thu, 28 Jul 2016 21:58:07 +0000 (14:58 -0700)]
Make coverage.py optional for dm and nanobench _flags.py
It is better to test partially than not test at all.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184423002
Review-Url: https://codereview.chromium.org/
2184423002
mtklein [Thu, 28 Jul 2016 21:45:28 +0000 (14:45 -0700)]
Silence -Wclobbered in each file that needs it.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184823009
Committed: https://skia.googlesource.com/skia/+/
03f704a343d7a82974f977eda8789a8c721c93e5
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86-Release-Trybot
Review-Url: https://codereview.chromium.org/
2184823009
halcanary [Thu, 28 Jul 2016 21:33:13 +0000 (14:33 -0700)]
SkPDF: drawText makes use of SkPaint.measureText() for alignment.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2188303003
Review-Url: https://codereview.chromium.org/
2188303003
reed [Thu, 28 Jul 2016 21:26:13 +0000 (14:26 -0700)]
turn bitmaps into images during recording
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2185563003
Review-Url: https://codereview.chromium.org/
2185563003
mtklein [Thu, 28 Jul 2016 21:17:33 +0000 (14:17 -0700)]
GN: nanobench
Add nanobench, and while we're at it monobench to show off how cool
source_sets are... the bench files are only built once then linked
into both binaries. With GYP we build them twice. :/ Same deal
for GMs between nanobench and DM... build once, link twice.
nanobench uses SkImageEncoder to encode its .pngs, which requires
we link in the image encoders, which requires we get them all in.
That's the bulk of this.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2193513002
Review-Url: https://codereview.chromium.org/
2193513002
mtklein [Thu, 28 Jul 2016 20:59:59 +0000 (13:59 -0700)]
Revert of Silence -Wclobbered in each file that needs it. (patchset #2 id:20001 of https://codereview.chromium.org/
2184823009/ )
Reason for revert:
Jpeg strategy seems to be leading to crashes. Gonna go back to warning squelch.
Original issue's description:
> Silence -Wclobbered in each file that needs it.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184823009
>
> Committed: https://skia.googlesource.com/skia/+/
03f704a343d7a82974f977eda8789a8c721c93e5
TBR=msarett@google.com,mtklein@chromium.org
# 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/
2188313003
bsalomon [Thu, 28 Jul 2016 20:37:31 +0000 (13:37 -0700)]
Serialize SkColorSpace into DeferredTextureImage
This fixes a memory leak that occurs when DeferredTextureImage is deallocated without being destroyed. It is intended to be stored in discarable memory and thus this has to be safe.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184823010
Review-Url: https://codereview.chromium.org/
2184823010
mtklein [Thu, 28 Jul 2016 18:57:30 +0000 (11:57 -0700)]
Silence -Wclobbered in each file that needs it.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184823009
Review-Url: https://codereview.chromium.org/
2184823009
jcgregorio [Thu, 28 Jul 2016 18:55:51 +0000 (11:55 -0700)]
Fix expectations for GN bot.
BUG=skia:
Review-Url: https://codereview.chromium.org/
2191933002
bsalomon [Thu, 28 Jul 2016 18:49:12 +0000 (11:49 -0700)]
Remove unused render target members from GL and VK sk_app::WindowContext classes
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2191673002
Review-Url: https://codereview.chromium.org/
2191673002
csmartdalton [Thu, 28 Jul 2016 18:48:13 +0000 (11:48 -0700)]
Include NVPR configs in dm runs on TegraX1
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2174353008
Review-Url: https://codereview.chromium.org/
2174353008
mtklein [Thu, 28 Jul 2016 18:42:34 +0000 (11:42 -0700)]
GN: add abbreviated versions of the command line as descriptions.
This should help make the bot logs a little easier to read. (On the console
this wasn't much of a big deal, as Ninja auto-abbreviates when printing to an
interactive console.)
As usual, Ninja will print the full command when a task fails.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2188263002
Review-Url: https://codereview.chromium.org/
2188263002
fmenozzi [Thu, 28 Jul 2016 17:59:49 +0000 (10:59 -0700)]
Add HardStopGradientBench_ScaleNumHardStops.cpp
Rename HardStopGradientBench.cpp to HardStopGradientBench_ScaleNumColors.cpp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2178913003
Review-Url: https://codereview.chromium.org/
2178913003
borenet [Thu, 28 Jul 2016 17:50:54 +0000 (10:50 -0700)]
Add swarmbucket_wrapper recipe
BUG=skia:5581
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2185203003
Review-Url: https://codereview.chromium.org/
2185203003
msarett [Thu, 28 Jul 2016 17:47:50 +0000 (10:47 -0700)]
Add writeToMemory() API to SkColorSpace
New API mirrors the form of similar APIs in SkRegion,
SkMatrix, etc.
This also fixes a bug:
SkImageInfo appears in a object that Chrome stores in
discardable memory. So when sk_sp<SkColorSpace> was added
to SkImageInfo a leak was introduced. We'll use this new
method and deserialize to store the SkColorSpace in the
discardable object.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2192903002
Review-Url: https://codereview.chromium.org/
2192903002
mtklein [Thu, 28 Jul 2016 16:58:44 +0000 (09:58 -0700)]
GN: fix mac build again
Hoping to land these using the other GN bots as trybots.
Don't know what magic was letting us get to webp's headers yesterday on Linux. Might have been using /usr/include's ?
The other change is the difference between some setups using #define SK_BUILD_FOR_MAC and others #define SK_BUILD_FOR_MAC 1. We want either to mean "we're Mac".
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2190713004
Review-Url: https://codereview.chromium.org/
2190713004
fmalita [Thu, 28 Jul 2016 16:47:24 +0000 (09:47 -0700)]
SkPaint intercept API for SkTextBlob and horizontal text
Add getPosTextHIntercepts(), getTextBlobIntercepts().
Consolidate the implementation in GetTextIntercepts<> template.
BUG=chormium:581456
R=caryclark@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2186663004
Review-Url: https://codereview.chromium.org/
2186663004
mtklein [Thu, 28 Jul 2016 16:45:14 +0000 (09:45 -0700)]
Make both SK_API definition points identical and order independent.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2189983002
Review-Url: https://codereview.chromium.org/
2189983002
jcgregorio [Thu, 28 Jul 2016 16:38:59 +0000 (09:38 -0700)]
recipes: Add a GN flavor.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2189713003
Review-Url: https://codereview.chromium.org/
2189713003
robertphillips [Thu, 28 Jul 2016 16:20:33 +0000 (09:20 -0700)]
Add SkGammaColorFilter
WDYT about this as a means of replacing GrContext::applyGamma with a normal SkCanvas::drawImage?
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2190573002
Review-Url: https://codereview.chromium.org/
2190573002
borenet [Thu, 28 Jul 2016 15:58:38 +0000 (08:58 -0700)]
Fixes for SwarmBucket bot
- Print all build properties for debugging purposes.
- Use correct path root for swarmbucket.
- Write a dummy .gclient file if missing.
BUG=skia:5581
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2190933002
Review-Url: https://codereview.chromium.org/
2190933002
dvonbeck [Thu, 28 Jul 2016 15:58:19 +0000 (08:58 -0700)]
Added API for Bevel NormalSource.
This CL adds an API for Bevel normal source and a dummy implementation that returns a normal (0, 0, 1) every time.
This CL's base is the CL for accepting nullptrs: https://codereview.chromium.org/
2132113002
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2080993002
Review-Url: https://codereview.chromium.org/
2080993002
bsalomon [Thu, 28 Jul 2016 15:53:13 +0000 (08:53 -0700)]
Remove unused sk_app::WindowContext::presentRenderSurface
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184273002
Review-Url: https://codereview.chromium.org/
2184273002
egdaniel [Thu, 28 Jul 2016 15:53:07 +0000 (08:53 -0700)]
Don't call finish on GrDrawTarget if we drew no batches
This might give us some minor perf gains in vulkan since we won't be submitting
command buffers that we've added to batch draws to. Running nanobench this does
seem to happen pretty often.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2179903008
Review-Url: https://codereview.chromium.org/
2179903008
tomhudson [Thu, 28 Jul 2016 14:36:28 +0000 (07:36 -0700)]
Revert of align cap hairline first point (patchset #2 id:20001 of https://codereview.chromium.org/
2189583003/ )
Reason for revert:
Speculative revert in case this is blocking our roll.
Original issue's description:
> align cap hairline first point
>
> Hairlines with square caps move the endpoints out by 1/2 pixel.
> The last point needs to be the first adjusted point, instead
> of the point supplied to move to.
>
> R=fmalita@chromium.org
> TBR=reed@google.com
> BUG=617658
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2189583003
>
> Committed: https://skia.googlesource.com/skia/+/
52f85d4d09b815fce6bfe296a1dd2cbf8d792f05
TBR=fmalita@chromium.org,reed@google.com,caryclark@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=617658
Review-Url: https://codereview.chromium.org/
2188483007
mtklein [Wed, 27 Jul 2016 21:59:08 +0000 (14:59 -0700)]
Turn on flags to enforce SK_API.
These flags hide symbols that are not marked with SK_API when linked into a
shared library. There's nominally no effect on static linking, but I'm
pretty sure the Mac linker takes some advantage of this too to run faster.
This makes component-build DM no longer link: it uses many non SK_API APIs.
Fiddle in contrast is just fine with our public APIs, so no need to restrict that.
It'll be fun finding out which of our other tools go which ways.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2180383003
Review-Url: https://codereview.chromium.org/
2180383003
halcanary [Wed, 27 Jul 2016 21:49:46 +0000 (14:49 -0700)]
SkPdf: SkPDFFormXObject de-class-ified.
We don't need an object, just a few standard fields on the
base class; the change lets us get rid of a bunch of
boilerplate code.
I think this also reduces the cognitive load of the SkPDF
internals.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2185803003
Review-Url: https://codereview.chromium.org/
2185803003
jcgregorio [Wed, 27 Jul 2016 21:34:06 +0000 (14:34 -0700)]
upload_bench_results - fix GS upload path.
_UploadJSONResults does '/'.join() so the trailing / is unnecessary.
BUG=skia:
R=borenet
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2187903003
Review-Url: https://codereview.chromium.org/
2187903003
jvanverth [Wed, 27 Jul 2016 21:29:18 +0000 (14:29 -0700)]
Enable backend switching for Windows Viewer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184163003
Review-Url: https://codereview.chromium.org/
2184163003
halcanary [Wed, 27 Jul 2016 21:14:04 +0000 (14:14 -0700)]
SkPDF: refactor font subset: fewer copies
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2190643002
Review-Url: https://codereview.chromium.org/
2190643002
borenet [Wed, 27 Jul 2016 21:05:54 +0000 (14:05 -0700)]
Fix silently-failing compile
Ouch...
TBR=rmistry
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2191663002
Review-Url: https://codereview.chromium.org/
2191663002
mtklein [Wed, 27 Jul 2016 20:55:26 +0000 (13:55 -0700)]
GN: dm
This builds, links, and runs on Linux. Have not tried Mac.
I've tested is_debug={true,false} and is_component_build.
It's neat that the component build DM works, but it's also an indication I've missed an essential flag or two... it shouldn't work. :)
The GPU backend isn't working yet, but all the software configurations I've tried look good.
This fleshes out all the other parts of SkCodec too... I noticed we weren't able to decode gifs or webp.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2188643002
Review-Url: https://codereview.chromium.org/
2188643002
msarett [Wed, 27 Jul 2016 20:51:46 +0000 (13:51 -0700)]
Expose more gamma info for UMA statistics
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2188633003
Review-Url: https://codereview.chromium.org/
2188633003
csmartdalton [Wed, 27 Jul 2016 20:22:27 +0000 (13:22 -0700)]
Fix GrDrawContextPriv::stencilRect
Updates stencilRect to call drawNonAAFilledRect instead of
drawFilledRect. drawFilledRect can use coverage AA, which isn't
appropriate for stencil draws. Also modifies drawNonAAFilledRect to
take a "useHWAA" argument instead of trying to deduce whether it
should be used.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2187583002
Review-Url: https://codereview.chromium.org/
2187583002
kjlubick [Wed, 27 Jul 2016 19:59:12 +0000 (12:59 -0700)]
Add Vulkan runtime dll
This gets copied into the out/ dir on compile and allows dm.exe to run anywhere, even if the Vulkan SDK is not installed.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2188543002
Review-Url: https://codereview.chromium.org/
2188543002
caryclark [Wed, 27 Jul 2016 19:50:09 +0000 (12:50 -0700)]
align cap hairline first point
Hairlines with square caps move the endpoints out by 1/2 pixel.
The last point needs to be the first adjusted point, instead
of the point supplied to move to.
R=fmalita@chromium.org
TBR=reed@google.com
BUG=617658
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2189583003
Review-Url: https://codereview.chromium.org/
2189583003
borenet [Wed, 27 Jul 2016 19:45:35 +0000 (12:45 -0700)]
Make the experimental SwarmBucket bot use the SkiaTriggers pool
BUG=skia:5581
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2187023002
Review-Url: https://codereview.chromium.org/
2187023002
halcanary [Wed, 27 Jul 2016 19:28:55 +0000 (12:28 -0700)]
DEPS: sfntly
468cad5 →
b18b09b
SfntlyWrapper::SubsetFont now takes TTC index, needed for SkPDF.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2186103002
Review-Url: https://codereview.chromium.org/
2186103002
robertphillips [Wed, 27 Jul 2016 19:13:51 +0000 (12:13 -0700)]
Rename GrContext's newDrawContext & drawContext to makeDrawContext
These both return sk_sp.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2186073002
Review-Url: https://codereview.chromium.org/
2186073002
bsalomon [Wed, 27 Jul 2016 19:07:43 +0000 (12:07 -0700)]
Make the yasm copy target be type 'none' rather than type 'executable'
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2182873005
Review-Url: https://codereview.chromium.org/
2182873005
caryclark [Wed, 27 Jul 2016 19:02:07 +0000 (12:02 -0700)]
require semi at the end of SkASSERT and friends
R=bungeman@google.com
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2185063002
Review-Url: https://codereview.chromium.org/
2185063002
mtklein [Wed, 27 Jul 2016 18:17:18 +0000 (11:17 -0700)]
GN: fixes for Mac
- Make fiddle build on Mac (skipping GL).
- Now that we're building in SkCodec, we depend on libpng and libjpeg-turbo unconditionally, not just on Linux.
- Re-arrange third_party a bit so that our targets are Fuchsia/Chrome compatible.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2184133002
NOTREECHECKS=true
This doesn't affect Chrome/Blink, so landing through the closed tree.
Review-Url: https://codereview.chromium.org/
2184133002
halcanary [Wed, 27 Jul 2016 18:12:23 +0000 (11:12 -0700)]
SkPDF: SkPDFStream takes a unique_ptr
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2188623004
Review-Url: https://codereview.chromium.org/
2188623004