mtklein [Wed, 20 Jul 2016 19:10:11 +0000 (12:10 -0700)]
Tune linear->sRGB constants to round-trip all bytes.
I basically just ran a big 5-deep for-loop over the five constants here.
This is the first set of coefficients I found that round trips all bytes.
I suspect there are many such sets.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2162063003
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/
2162063003
msarett [Wed, 20 Jul 2016 18:44:42 +0000 (11:44 -0700)]
Refactor parsing and storage of SkGammas
Benefits:
(1) Parses and stores gamma tags in a single allocation.
(2) Recognizes equal gamma tags to skip parsing work and
save memory.
Non-Benefits:
(1) Not less complicated.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2117773002
Review-Url: https://codereview.chromium.org/
2117773002
reed [Wed, 20 Jul 2016 18:24:51 +0000 (11:24 -0700)]
re-disable save/restore peephole optimization
BUG=skia:5548, 629408
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163283002
Review-Url: https://codereview.chromium.org/
2163283002
dvonbeck [Wed, 20 Jul 2016 18:20:30 +0000 (11:20 -0700)]
SkLS now accepting nullptr for diffuse shader and normal source, now accurately handling alpha
This CL's base is the CL for taking in a diffuse shader into SkLS on the API side: https://codereview.chromium.org/
2064153002
BUG=skia:5502,skia:5517
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2132113002
Review-Url: https://codereview.chromium.org/
2132113002
kjlubick [Wed, 20 Jul 2016 17:18:49 +0000 (10:18 -0700)]
Add vulkan sdk to CIPD
BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164953002
Review-Url: https://codereview.chromium.org/
2164953002
reed [Wed, 20 Jul 2016 17:06:59 +0000 (10:06 -0700)]
re-chop if we fail on a big-bad-cubic
BUG=629455
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2159223005
Review-Url: https://codereview.chromium.org/
2159223005
bungeman [Wed, 20 Jul 2016 16:49:10 +0000 (09:49 -0700)]
Improve assert reporting.
Make SkASSERTF output readable.
Ensure the assert predicate is stringified once.
Make the abort code consistent.
TBR=reed
This doesn't change any public API, most of this should be privatized.
Review-Url: https://codereview.chromium.org/
2161103002
robertphillips [Wed, 20 Jul 2016 15:54:31 +0000 (08:54 -0700)]
Remove SkDevice::accessRenderTarget virtual
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167723002
Review-Url: https://codereview.chromium.org/
2167723002
egdaniel [Wed, 20 Jul 2016 15:33:00 +0000 (08:33 -0700)]
Add GrVkRecycledResource subclass
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167453003
Review-Url: https://codereview.chromium.org/
2167453003
fmenozzi [Wed, 20 Jul 2016 15:26:12 +0000 (08:26 -0700)]
Add integer array uniforms to GL and Vulkan
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163173005
Review-Url: https://codereview.chromium.org/
2163173005
bsalomon [Wed, 20 Jul 2016 14:15:44 +0000 (07:15 -0700)]
Consolidate special case shape transformation logic in GrShapeTest.
Enable all tests on all geometry types.
Add conversion of fill+miter-stroke->fill for rect geometries in GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2157013003
Review-Url: https://codereview.chromium.org/
2157013003
bungeman [Wed, 20 Jul 2016 14:15:16 +0000 (07:15 -0700)]
Add iOS to platform_os_emoji.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164783004
Review-Url: https://codereview.chromium.org/
2164783004
martina.kollarova [Wed, 20 Jul 2016 14:01:46 +0000 (07:01 -0700)]
Fix context creation problems in dm
Fixes these issues:
1. The glXCreateContextAttribsARB call seems to modify the
context_attrib parameter upon failure. Since context_attrib was static,
if it first tried to create an OpenGL 4.4 context and it failed, further
attempts to create a context with lower versions would also fail.
2. Getting an OpenGL 3.0 context was never tried.
3. Context creation for ES 3.0 was failing on my machine. Since ES 2.0
looks like the intended version from the surrounding code, I set it to
that. It could be rewritten to use a similar loop as standard OpenGL and
try from the highest version to the lowest.
BUG=skia:5403
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2147513002
Review-Url: https://codereview.chromium.org/
2147513002
reed [Wed, 20 Jul 2016 13:04:34 +0000 (06:04 -0700)]
use special-image for imagefilters and save/restore layer
add special virtuals to device, in preparation for using them instead of bitmap for imagefilters
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2155933002
patch from issue
2155933002 at patchset 20001 (http://crrev.com/
2155933002#ps20001)
use specialimages instead of bitmaps for imagefiltering
Review-Url: https://codereview.chromium.org/
2155063002
borenet [Wed, 20 Jul 2016 12:54:50 +0000 (05:54 -0700)]
Add "Infra" to the builder_name_schema
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2154433002
Review-Url: https://codereview.chromium.org/
2154433002
mtklein [Wed, 20 Jul 2016 12:23:31 +0000 (05:23 -0700)]
Fix color order for 565,4444, and I8 samplers.
10 GMs fixed on Linux/Win!
Also, don't unpremul I8 colors. It's inconsistent with the other formats.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2166623002
Review-Url: https://codereview.chromium.org/
2166623002
kjlubick [Tue, 19 Jul 2016 23:50:03 +0000 (16:50 -0700)]
Port FuzzPathop from chromium
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2148023002
Review-Url: https://codereview.chromium.org/
2148023002
reed [Tue, 19 Jul 2016 21:33:20 +0000 (14:33 -0700)]
pre-land special methods on device
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161233002
Review-Url: https://codereview.chromium.org/
2161233002
jvanverth [Tue, 19 Jul 2016 21:17:20 +0000 (14:17 -0700)]
Stub in Mac viewer code.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164683002
patch from issue
2164683002 at patchset 1 (http://crrev.com/
2164683002#ps1)
Review-Url: https://codereview.chromium.org/
2167503002
brianosman [Tue, 19 Jul 2016 21:16:49 +0000 (14:16 -0700)]
Remove unused MakeFromTextureCopy API
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165803002
Review-Url: https://codereview.chromium.org/
2165803002
robertphillips [Tue, 19 Jul 2016 21:04:39 +0000 (14:04 -0700)]
Minor cleanup of GrStencilAndCoverTextContext
Split out of https://codereview.chromium.org/
2163483002/ (Use SkFont in GrStencilAndCoverTextContext)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165673002
Review-Url: https://codereview.chromium.org/
2165673002
mtklein [Tue, 19 Jul 2016 20:36:03 +0000 (13:36 -0700)]
Update rounding/clamping comments on sk_linear_to_srgb().
Rounding is enough. No need for an explicit clamp if the inputs are in range.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161223002
Review-Url: https://codereview.chromium.org/
2161223002
Ben Wagner [Tue, 19 Jul 2016 19:55:16 +0000 (15:55 -0400)]
Make SkOTTable_name.cpp UTF-8.
When editing on Windows this file became iso-8859-1.
msarett [Tue, 19 Jul 2016 20:00:35 +0000 (13:00 -0700)]
Fix master-skia build
TBR=djsollen@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2159223003
Review-Url: https://codereview.chromium.org/
2159223003
mtklein [Tue, 19 Jul 2016 19:59:35 +0000 (12:59 -0700)]
Fix color order on LCD text when using sRGB software backend.
BUG=skia:5182
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2166533002
Review-Url: https://codereview.chromium.org/
2166533002
caryclark [Tue, 19 Jul 2016 19:27:32 +0000 (12:27 -0700)]
exclude test that fails on google3 asan
R=dogben@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164703002
Review-Url: https://codereview.chromium.org/
2164703002
caryclark [Tue, 19 Jul 2016 18:29:14 +0000 (11:29 -0700)]
fix fuzzer
Previous spans always have a valid next pointer. The final span does not.
Change the test for a valid link to take into consideration whether
the links are chased forwards or backwards.
TBR=reed@google.com
BUG=629454
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2166543002
Review-Url: https://codereview.chromium.org/
2166543002
msarett [Tue, 19 Jul 2016 18:17:55 +0000 (11:17 -0700)]
Disable qcms on build for Android framework
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2160863003
Review-Url: https://codereview.chromium.org/
2160863003
msarett [Tue, 19 Jul 2016 17:48:58 +0000 (10:48 -0700)]
Enable libjpeg-turbo features
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161843002
Review-Url: https://codereview.chromium.org/
2161843002
fmenozzi [Tue, 19 Jul 2016 17:45:57 +0000 (10:45 -0700)]
Clarify GrGradientEffect key enum
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2158323003
Review-Url: https://codereview.chromium.org/
2158323003
bsalomon [Tue, 19 Jul 2016 16:46:29 +0000 (09:46 -0700)]
Make sk_app::WindowContext directly create a SkSurface without an intermediate GrRenderTarget
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165703002
Review-Url: https://codereview.chromium.org/
2165703002
msarett [Tue, 19 Jul 2016 16:07:55 +0000 (09:07 -0700)]
Improve naive SkColorXform to half floats
This should give us a good baseline to explore using SkRasterPipeline.
A particular colorxform to half float drops from 425us to 282us on my desktop.
Color Xform to Half Float (HP z620)
Original 425us
Trans16 (not 32) 355us
Vector Trans16 378us
Trans16 + Keep Halfs in Vector 335us
Vector Trans16 + Keep Halfs in Vector 282us
Final 282us
Color Xform to Half Float (Nexus 5X)
Original 556us
Final 472us
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2159993003
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/
2159993003
bsalomon [Tue, 19 Jul 2016 15:49:41 +0000 (08:49 -0700)]
Create DCs instead of textures in SRGBMipMaps test
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2162973002
Review-Url: https://codereview.chromium.org/
2162973002
bsalomon [Tue, 19 Jul 2016 15:38:09 +0000 (08:38 -0700)]
Create DCs rather than textures in GrConfigConversionEffect
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2162953002
Review-Url: https://codereview.chromium.org/
2162953002
bsalomon [Tue, 19 Jul 2016 15:38:04 +0000 (08:38 -0700)]
Simplify random_draw_context used by GLProgramsTest
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165683002
Review-Url: https://codereview.chromium.org/
2165683002
reed [Tue, 19 Jul 2016 15:26:09 +0000 (08:26 -0700)]
remove unused MakeFromPixmap
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2158913004
TBR=robertphilips@google.com
Review-Url: https://codereview.chromium.org/
2158913004
mtklein [Tue, 19 Jul 2016 15:25:00 +0000 (08:25 -0700)]
GN: refactor third_party/gni
This fixes the build on Linux (dep on third_party:zlib -> third_party/zlib).
I've moved declare_args() {} back to each .gn file... seems like args want
to be as local as possible in GN land.
Additionally, refactor all the common third_party config and warning flag
changes into a template, third_party. This lets it all live together in a
.gni: at head unwanted_configs can be in a .gni (it's just a variable) but
config("no_warnings") (and thus third_party_configs) cannot, as configs
cannot be part of .gni files.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163653002
Review-Url: https://codereview.chromium.org/
2163653002
bsalomon [Tue, 19 Jul 2016 15:12:30 +0000 (08:12 -0700)]
Start from DC rather than texture in GrTexutreParamsAdjuster copy code.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2158383002
Review-Url: https://codereview.chromium.org/
2158383002
brianosman [Tue, 19 Jul 2016 15:02:20 +0000 (08:02 -0700)]
Fix debugging code for tracing texture creation
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164623002
Review-Url: https://codereview.chromium.org/
2164623002
robertphillips [Tue, 19 Jul 2016 14:59:22 +0000 (07:59 -0700)]
Make SkFont a bit more useable
Split out of https://codereview.chromium.org/
2163483002/ (Use SkFont in GrStencilAndCoverTextContext)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163633002
Review-Url: https://codereview.chromium.org/
2163633002
bsalomon [Tue, 19 Jul 2016 14:24:40 +0000 (07:24 -0700)]
Convert readSurfacePixels to use a draw context instead of a texture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165523003
Review-Url: https://codereview.chromium.org/
2165523003
bsalomon [Tue, 19 Jul 2016 13:21:55 +0000 (06:21 -0700)]
Fix GrGLInterface::validate() to check for GL_OES_sample_shading on ES contexts
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2156343004
Review-Url: https://codereview.chromium.org/
2156343004
fmalita [Tue, 19 Jul 2016 13:12:54 +0000 (06:12 -0700)]
Delete the legacy SVG parser
Unused.
R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2154193003
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/
2154193003
mtklein [Tue, 19 Jul 2016 13:03:22 +0000 (06:03 -0700)]
GN: polyfill is_fuchsia
I'll tell you what, I need to practice typing fuchsia out a few hundred
times... I managed to spell it three different ways in this CL.
Plus, gn format BUILD.gn
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164453003
Review-Url: https://codereview.chromium.org/
2164453003
fmalita [Tue, 19 Jul 2016 12:14:41 +0000 (05:14 -0700)]
Delete SkXMLPullParser
Unused & not being built.
R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163463002
Review-Url: https://codereview.chromium.org/
2163463002
robertphillips [Tue, 19 Jul 2016 12:10:40 +0000 (05:10 -0700)]
Rename variables in SkCanvas::internalSaveLayer
This is split out of https://codereview.chromium.org/
2145343005/ (Recast draw_filter_into_device as drawDevice) to, hopefully, make it easier to integrate that CL
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2162883002
Review-Url: https://codereview.chromium.org/
2162883002
kolczyk [Tue, 19 Jul 2016 10:49:14 +0000 (03:49 -0700)]
Fix the assert and clamping in SkMatrix::get*Scale[s]().
Follow-up after https://codereview.chromium.org/
2143133005/.
BUG=skia:4718
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2154123003
Review-Url: https://codereview.chromium.org/
2154123003
msarett [Mon, 18 Jul 2016 22:56:08 +0000 (15:56 -0700)]
Fix rewinding bug in SkJpegCodec
Performing a sampled and/or subset decode will create some state
in SkJpegCodec. If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161593003
Committed: https://skia.googlesource.com/skia/+/
4ecb8ab556214c9337f56bc36d50e4d7c655ac7a
Review-Url: https://codereview.chromium.org/
2161593003
bungeman [Mon, 18 Jul 2016 22:46:27 +0000 (15:46 -0700)]
Rotate bitmap strikes with FreeType.
BUG=skia:3490
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2139703002
Committed: https://skia.googlesource.com/skia/+/
31e0c1379e6d0ce48196183e295b929af51fa74e
Review-Url: https://codereview.chromium.org/
2139703002
msarett [Mon, 18 Jul 2016 22:19:48 +0000 (15:19 -0700)]
Revert of Fix rewinding bug in SkJpegCodec (patchset #1 id:1 of https://codereview.chromium.org/
2161593003/ )
Reason for revert:
Breaking Google3 build. Will reland corrected version.
Original issue's description:
> Fix rewinding bug in SkJpegCodec
>
> Performing a sampled and/or subset decode will create some state
> in SkJpegCodec. If we fail to clean up this state properly,
> subsequent decodes may try to reuse (and potentailly overflow)
> the leftover memory.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161593003
>
> Committed: https://skia.googlesource.com/skia/+/
4ecb8ab556214c9337f56bc36d50e4d7c655ac7a
TBR=djsollen@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/
2155163004
bsalomon [Mon, 18 Jul 2016 21:59:05 +0000 (14:59 -0700)]
Remove guards in GrGLInterface::validate() for functions that Chromium used to not provide.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2158983002
Review-Url: https://codereview.chromium.org/
2158983002
robertphillips [Mon, 18 Jul 2016 21:56:06 +0000 (14:56 -0700)]
Push GrPipelineBuilder down to the drawBatch calls in the TextContext
This is split out of https://codereview.chromium.org/
2092893003/ (Retract PipelineBuilder some more)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2155983003
Review-Url: https://codereview.chromium.org/
2155983003
fmalita [Mon, 18 Jul 2016 21:47:29 +0000 (14:47 -0700)]
[SkXMLParser] Initial text node support
Also disable entity processing.
R=bungeman@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2154853002
Review-Url: https://codereview.chromium.org/
2154853002
fmenozzi [Mon, 18 Jul 2016 20:33:37 +0000 (13:33 -0700)]
Add bounds info
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2159853003
Review-Url: https://codereview.chromium.org/
2159853003
reed [Mon, 18 Jul 2016 20:22:55 +0000 (13:22 -0700)]
check for culled-out paths inside SkDraw
BUG=629026
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2155213002
Review-Url: https://codereview.chromium.org/
2155213002
caryclark [Mon, 18 Jul 2016 19:13:23 +0000 (12:13 -0700)]
disable test that fails to compute bounds on nexus 5
TBR=jcgregario@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2160713003
Review-Url: https://codereview.chromium.org/
2160713003
caryclark [Mon, 18 Jul 2016 18:28:44 +0000 (11:28 -0700)]
disable new test since it fails on skia_fast
TBR=jcgregario@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2155243002
Review-Url: https://codereview.chromium.org/
2155243002
mtklein [Mon, 18 Jul 2016 18:16:14 +0000 (11:16 -0700)]
Tweak a couple things I found confusing in ColorSpaceXform unit tests.
No coverage changes... just refactoring.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2158033002
Review-Url: https://codereview.chromium.org/
2158033002
fmalita [Mon, 18 Jul 2016 17:56:43 +0000 (10:56 -0700)]
Remove SkDOM::build(const char doc[], size_t len)
This flavor is unused, and we have the more general SkStream API.
R=stephana@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2154733003
Review-Url: https://codereview.chromium.org/
2154733003
brianosman [Mon, 18 Jul 2016 17:53:52 +0000 (10:53 -0700)]
Introduce GrColorSpaceXform, for gamut conversion on textures
GrTextureAccess optionally includes an instance, computed from the src
and dst color spaces. In all common cases (no color space for either src
or dst, or same color space for both), no object is allocated.
This change is orthogonal to my attempts to get color space attached to
render targets - regardless of how we choose to do that, this will give
us the source color space at all points where we are connecting src to
dst.
There are many dangling injection points where I've been inserting
nullptr, but I have a record of all of them. Additionally, there are now
three places (the most common simple paths for bitmap/image rendering)
where things are plumbed enough that I expect to have access to the dst
color space (all marked with XFORMTODO).
In addition to getting the dst color space, I need to inject shader code
and uniform uploading for appendTextureLookup and friends.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2154753003
Review-Url: https://codereview.chromium.org/
2154753003
borenet [Mon, 18 Jul 2016 17:36:43 +0000 (10:36 -0700)]
Convert SK Images to new assets format
Depends on https://codereview.chromium.org/
2162563002/
BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2155163002
Review-Url: https://codereview.chromium.org/
2155163002
msarett [Mon, 18 Jul 2016 17:28:41 +0000 (10:28 -0700)]
Fix rewinding bug in SkJpegCodec
Performing a sampled and/or subset decode will create some state
in SkJpegCodec. If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161593003
Review-Url: https://codereview.chromium.org/
2161593003
bsalomon [Mon, 18 Jul 2016 17:09:41 +0000 (10:09 -0700)]
Initialize fGammaCorrect in DF Path Renderer unit test
TBR=jvanverth@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2157933003
Review-Url: https://codereview.chromium.org/
2157933003
caryclark [Mon, 18 Jul 2016 17:01:36 +0000 (10:01 -0700)]
pathops coincidence and security rewrite
Most changes stem from working on an examples bracketed
by #if DEBUG_UNDER_DEVELOPMENT // tiger
These exposed many problems with coincident curves,
as well as errors throughout the code.
Fixing these errors also fixed a number of fuzzer-inspired
bug reports.
* Line/Curve Intersections
Check to see if the end of the line nearly intersects
the curve. This was a FIXME in the old code.
* Performance
Use a central chunk allocator.
Plumb the allocator into the global variable state
so that it can be shared. (Note that 'SkGlobalState'
is allocated on the stack and is visible to children
functions but not other threads.)
* Refactor
Let SkOpAngle grow up from a structure to a class.
Let SkCoincidentSpans grow up from a structure to a class.
Rename enum Alias to AliasMatch.
* Coincidence Rewrite
Add more debugging to coincidence detection.
Parallel debugging routines have read-only logic to report
the current coincidence state so that steps through the
logic can expose whether things got better or worse.
More functions can error-out and cause the pathops
engine to non-destructively exit.
* Accuracy
Remove code that adjusted point locations. Instead,
offset the curve part so that sorted curves all use
the same origin.
Reduce the size (and influence) of magic numbers.
* Testing
The debug suite with verify and the full release suite
./out/Debug/pathops_unittest -v -V
./out/Release/pathops_unittest -v -V -x
expose one error. That error is captured as cubics_d3.
This error exists in the checked in code as well.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2128633003
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2128633003
Review-Url: https://codereview.chromium.org/
2128633003
robertphillips [Mon, 18 Jul 2016 15:31:31 +0000 (08:31 -0700)]
Add makeSpecial calls to SkGpuDevice
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2161533003
Review-Url: https://codereview.chromium.org/
2161533003
fmenozzi [Mon, 18 Jul 2016 15:20:06 +0000 (08:20 -0700)]
Add filename to gradient scrape
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2160583002
Review-Url: https://codereview.chromium.org/
2160583002
jcgregorio [Mon, 18 Jul 2016 15:18:50 +0000 (08:18 -0700)]
Revert of remove unused TableMaskFilter (patchset #1 id:1 of https://codereview.chromium.org/
2156463002/ )
Reason for revert:
Needed for Android:
frameworks/base/core/jni/android/graphics/MaskFilter.cpp:5:10: fatal error: 'SkTableMaskFilter.h' file not found
Original issue's description:
> remove unused TableMaskFilter
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2156463002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/
59779ae8ce316bf8b8082ec2df1683ccd38161f1
TBR=reed@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:
Review-Url: https://codereview.chromium.org/
2156183002
bsalomon [Mon, 18 Jul 2016 14:31:13 +0000 (07:31 -0700)]
In GrShape detect that stroked axis-aligned lines are rrects.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2151313002
Review-Url: https://codereview.chromium.org/
2151313002
msarett [Mon, 18 Jul 2016 14:21:44 +0000 (07:21 -0700)]
Test auto merger
TBR=djsollen@google.com
NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2158793004
Review-Url: https://codereview.chromium.org/
2158793004
update-skps [Sun, 17 Jul 2016 08:02:55 +0000 (01:02 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2157823002
Review-Url: https://codereview.chromium.org/
2157823002
kolczyk [Sat, 16 Jul 2016 18:52:37 +0000 (11:52 -0700)]
Guard SkMatrix::get*Scale[s]() against negative nearly-zero values.
BUG=skia:4718
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2143133005
Review-Url: https://codereview.chromium.org/
2143133005
bungeman [Sat, 16 Jul 2016 01:49:42 +0000 (18:49 -0700)]
Revert of Rotate emoji with FreeType. (patchset #5 id:80001 of https://codereview.chromium.org/
2139703002/ )
Reason for revert:
Causing roll to fail on telemetry_perf_unittests (bencharks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.load:search:taobao (and baidu)) and browser_tests (FindInPageControllerTest.FindInPageSpecialURLS).
This is due to triggering the assert in copyFTBitmap
SkASSERT(dstMask.fBounds.width() == static_cast<int>(srcFTBitmap.width));
when called from inside the block guarded by
if (bitmapTransform.isIdentity())
Original issue's description:
> Rotate bitmap strikes with FreeType.
>
> BUG=skia:3490
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2139703002
>
> Committed: https://skia.googlesource.com/skia/+/
31e0c1379e6d0ce48196183e295b929af51fa74e
TBR=mtklein@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3490
Review-Url: https://codereview.chromium.org/
2149253005
abarth [Fri, 15 Jul 2016 22:15:15 +0000 (15:15 -0700)]
Add support for Fuchsia
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2152273002
[mtklein edit from here down]
No public API changes.
TBR=reed@google.com
Review-Url: https://codereview.chromium.org/
2152273002
bungeman [Fri, 15 Jul 2016 21:55:35 +0000 (14:55 -0700)]
Rotate bitmap strikes with FreeType.
BUG=skia:3490
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2139703002
Review-Url: https://codereview.chromium.org/
2139703002
reed [Fri, 15 Jul 2016 21:23:29 +0000 (14:23 -0700)]
move responsibility for creating raster-device into pdf
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2146333004
NOTRY=True
win failure seems unrelated
Review-Url: https://codereview.chromium.org/
2146333004
msarett [Fri, 15 Jul 2016 21:18:49 +0000 (14:18 -0700)]
Speculatively fix Android automerger
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2155713004
Review-Url: https://codereview.chromium.org/
2155713004
msarett [Fri, 15 Jul 2016 20:54:38 +0000 (13:54 -0700)]
Add capability for SkColorXform to output half floats
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2147763002
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/
2147763002
egdaniel [Fri, 15 Jul 2016 20:41:42 +0000 (13:41 -0700)]
Dont allocate a new image which already has mip levels, when regenerating vulkan mipmaps
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2146063008
Review-Url: https://codereview.chromium.org/
2146063008
halcanary [Fri, 15 Jul 2016 20:41:27 +0000 (13:41 -0700)]
SkPdf: smaller color serialization
SkPDFUtils now has a special function (SkPDFUtils::AppendColorComponent)
just for writing out (color/255) as a decimal with three digits of
precision.
SkPDFUnion now has a type to represent a color component. It holds a
utint_8, but calls into AppendColorComponent to serialize.
Added a unit test that tests all possible input values.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2151863003
Review-Url: https://codereview.chromium.org/
2151863003
halcanary [Fri, 15 Jul 2016 20:35:45 +0000 (13:35 -0700)]
SkPDF: Join Positioned Text
When N sequential positioned glyphs differ in positions by exactly the
advances of the first (N-1) glyphs, join the glyphs into a string
rather than changing the text matrix between each glyph draw.
Decreases PDF output size by about ~1.4%. Potentially more on
text-heavy pages.
A single-typeface PDF of an 27kB ASCII document shaped with harfbuzz:
before: 187743 Bytes
after: 65513 Bytes
difference: -65.1%
Before:
BT
/F0 13 Tf
1 0 0 -1 143.5 61 Tm
<0029> Tj
1 0 0 -1 150.634765 61 Tm
<004C> Tj
1 0 0 -1 154.602050 61 Tm
<0055> Tj
1 0 0 -1 160.245117 61 Tm
<0048> Tj
1 0 0 -1 167.925781 61 Tm
<004B> Tj
1 0 0 -1 176.469726 61 Tm
<0052> Tj
1 0 0 -1 184.518554 61 Tm
<0056> Tj
1 0 0 -1 190.980468 61 Tm
<0048> Tj
ET
After:
BT
/F0 13 Tf
1 0 0 -1 0 0 Tm
143.5 -61 Td <
0029004C0055> Tj
16.7451171 0 Td <
0048004B005200560048> Tj
ET
Also: update the Text matrix with the `Td` operator, instead of
overwriting it with the the `Tm` operator. In the worst case, when
every glyph is positioned differently than it's advance, this still
makes the command stream smaller:
Before:
...
1 0 0 -1 58.328125 660 Tm <0055> Tj
1 0 0 -1 61.609375 660 Tm <004C> Tj
1 0 0 -1 63.828125 660 Tm <0056> Tj
...
After:
...
3.140625 0 Td <0055> Tj
3.28125 0 Td <004C> Tj
2.21875 0 Td <0056> Tj
...
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2150393002
Review-Url: https://codereview.chromium.org/
2150393002
halcanary [Fri, 15 Jul 2016 19:54:30 +0000 (12:54 -0700)]
SkPDF: Always give a default advance for glyphs.
Prior to this we assumed the default default was 0. It is
actually 1000, according to the spec.
fixes BUG=skia:5321
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2146403005
Review-Url: https://codereview.chromium.org/
2146403005
djsollen [Fri, 15 Jul 2016 19:52:34 +0000 (12:52 -0700)]
Fix broken Android framework build.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2153953002
Review-Url: https://codereview.chromium.org/
2153953002
robertphillips [Fri, 15 Jul 2016 19:21:33 +0000 (12:21 -0700)]
Add copy (when needed) to SkGpuDevice::asSpecial
split out of https://codereview.chromium.org/
2145343005/ (Recast draw_filter_into_device as drawDevice)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2157513002
Review-Url: https://codereview.chromium.org/
2157513002
benjaminwagner [Fri, 15 Jul 2016 18:27:27 +0000 (11:27 -0700)]
Exclude XML and dependencies from Bazel build.
Depends on https://codereview.chromium.org/
2150353002
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2147303004
Review-Url: https://codereview.chromium.org/
2147303004
msarett [Fri, 15 Jul 2016 17:47:19 +0000 (10:47 -0700)]
SkColorSpace::NewICC() warn instead of fail on bad input
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2093193002
Review-Url: https://codereview.chromium.org/
2093193002
fmalita [Fri, 15 Jul 2016 17:33:29 +0000 (10:33 -0700)]
Make XML compilation conditional.
Only enabled for gyp-based builds at this time.
R=dogben@google.com,mtklein@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2150353002
Review-Url: https://codereview.chromium.org/
2150353002
reed [Fri, 15 Jul 2016 16:41:26 +0000 (09:41 -0700)]
remove unused CreateInfo flag
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2153173002
NOTRY=True
Review-Url: https://codereview.chromium.org/
2153173002
borenet [Fri, 15 Jul 2016 15:34:08 +0000 (08:34 -0700)]
Convert Win toolchain to CIPD package
BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2111713003
Review-Url: https://codereview.chromium.org/
2111713003
robertphillips [Fri, 15 Jul 2016 15:01:12 +0000 (08:01 -0700)]
Add SkGpuDevice::asSpecial entry point
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2151033003
Review-Url: https://codereview.chromium.org/
2151033003
mtklein [Fri, 15 Jul 2016 14:45:53 +0000 (07:45 -0700)]
Add a bench to measure the best way to pack from int to uint16_t with SSE.
I measured relative runtimes on my laptop:
pack_int_uint16_t_ss…
1036 …e41 1x …se3 1.01x …e2_b 3.01x …e2_a 3.02x
I've run into Clang problems with the actual _mm_packus_epi32 instruction, I think,
so I'm going to exercise a little cowardice and leave that option disabled for now.
The ssse3 version probably looks a little faster than it will be in practice.
We'll usually need to load its mask, which here is hoisted out of the bench loop.
The two sse2 variants are close enough in speed that I'm tie breaking them on other
concerns: the <<16, >>16 version doesn't need any scratch registers or to load any
constants, so it wins.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2150343002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot
Review-Url: https://codereview.chromium.org/
2150343002
mtklein [Fri, 15 Jul 2016 14:00:11 +0000 (07:00 -0700)]
Expand _01 half<->float limitation to _finite. Simplify.
It's become clear we need to sometimes deal with values <0 or >1.
I'm not yet convinced we care about NaN or +-inf.
We had some fairly clever tricks and optimizations here for NEON
and SSE. I've thrown them out in favor of a single implementation.
If we find the specializations mattered, we can certainly figure out
how to extend them to this new range/domain.
This happens to add a vectorized float -> half for ARMv7, which was
missing from the _01 version. (The SSE strategy was not portable to
platforms that flush denorm floats to zero.)
I've tested the full float range for FloatToHalf on my desktop and a 5x.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2145663003
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot
Committed: https://skia.googlesource.com/skia/+/
3296bee70d074bb8094b3229dbe12fa016657e90
Review-Url: https://codereview.chromium.org/
2145663003
brianosman [Fri, 15 Jul 2016 13:59:48 +0000 (06:59 -0700)]
Add getColorSpace to GrTextureProducer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2150113002
Review-Url: https://codereview.chromium.org/
2150113002
mtklein [Fri, 15 Jul 2016 02:39:38 +0000 (19:39 -0700)]
Probably no need for GM self-tests now that GM doesn't exist.
This is... belated.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2154603002
Review-Url: https://codereview.chromium.org/
2154603002
fmalita [Fri, 15 Jul 2016 02:14:06 +0000 (19:14 -0700)]
Dust-off SkXMLParser
Hook up SkXMLParser to Expat, such that it can actually parse, err,
XML.
Add a trivial unit test.
R=robertphillips@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2142893006
Review-Url: https://codereview.chromium.org/
2142893006
reed [Fri, 15 Jul 2016 02:13:20 +0000 (19:13 -0700)]
remove unused TableMaskFilter
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2156463002
TBR=
Review-Url: https://codereview.chromium.org/
2156463002
herb [Thu, 14 Jul 2016 21:50:48 +0000 (14:50 -0700)]
Fix a bug in the Clamp in X direction tiling.
The code mixed up which end of the span was cut and preserved in the
sequence of span breaks.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2145193002
Review-Url: https://codereview.chromium.org/
2145193002
robertphillips [Thu, 14 Jul 2016 21:12:55 +0000 (14:12 -0700)]
Remove GrWrapTextureInBitmap call in SkGpuDevice::drawSpriteWithFilter
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2146223003
Review-Url: https://codereview.chromium.org/
2146223003
fmalita [Thu, 14 Jul 2016 21:02:24 +0000 (14:02 -0700)]
Build Expat on all platforms
* bump version to @android-6.0.1_r55 (2.1.1)
* add as a dependency to the 'xml' target (for upcoming http://crrev.com/
2142893006)
* tweak build for Mac, Win:
- define HAVE_EXPAT_CONFIG_H (same as in Android.mk)
- use -Wno-missing-field-initializers (same as in Android.mk)
- suppress MSVS warning 4244 (same as ..cmake/Utilities/cmexpat/expatConfig.h.in)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2150603004
R=mtklein@google.com
Review-Url: https://codereview.chromium.org/
2150603004
robertphillips [Thu, 14 Jul 2016 20:44:14 +0000 (13:44 -0700)]
Remove dead flag from SkPictureRecorder
With the Chrome CL (https://codereview.chromium.org/
2149533003/ (Remove use of unsupported Skia flag)) landed, this should be good to go.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2152943002
Review-Url: https://codereview.chromium.org/
2152943002
mtklein [Thu, 14 Jul 2016 19:03:04 +0000 (12:03 -0700)]
Revert of Expand _01 half<->float limitation to _finite. Simplify. (patchset #7 id:120001 of https://codereview.chromium.org/
2145663003/ )
Reason for revert:
Unit tests fail on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast
Original issue's description:
> Expand _01 half<->float limitation to _finite. Simplify.
>
> It's become clear we need to sometimes deal with values <0 or >1.
> I'm not yet convinced we care about NaN or +-inf.
>
> We had some fairly clever tricks and optimizations here for NEON
> and SSE. I've thrown them out in favor of a single implementation.
> If we find the specializations mattered, we can certainly figure out
> how to extend them to this new range/domain.
>
> This happens to add a vectorized float -> half for ARMv7, which was
> missing from the _01 version. (The SSE strategy was not portable to
> platforms that flush denorm floats to zero.)
>
> I've tested the full float range for FloatToHalf on my desktop and a 5x.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2145663003
> CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/
3296bee70d074bb8094b3229dbe12fa016657e90
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/
2151023003