egdaniel [Thu, 21 Jul 2016 18:50:37 +0000 (11:50 -0700)]
Setup system in Vulkan to reuse VkDescriptorSet allocations.
This CL uses the new system for uniform buffers. In a follow up CL I will
add support for samplers.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163673002
Review-Url: https://codereview.chromium.org/
2163673002
caryclark [Thu, 21 Jul 2016 17:44:07 +0000 (10:44 -0700)]
allow curves on side of lines to be very small
Increase the precision of the 'all on one side' pathops
angle test to reduce the number of unorderable segments
found by the cubics_d3 test.
This allows pathsops_unittest release build with -v -V -x
to run without error.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2168163002
Review-Url: https://codereview.chromium.org/
2168163002
borenet [Thu, 21 Jul 2016 17:27:00 +0000 (10:27 -0700)]
Add "skp" asset
Don't get rid of SKP_VERSION and associated stuff just yet.
BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167763002
DOCS_PREVIEW= https://skia.org/?cl=
2167763002
Review-Url: https://codereview.chromium.org/
2167763002
vjiaoblack [Thu, 21 Jul 2016 17:25:54 +0000 (10:25 -0700)]
Creating framework for drawShadowedPicture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2146073003
Committed: https://skia.googlesource.com/skia/+/
0ae097d116f4332be02a135ffc99c162473dee6a
Review-Url: https://codereview.chromium.org/
2146073003
caryclark [Thu, 21 Jul 2016 16:41:13 +0000 (09:41 -0700)]
add pathops debugging to fuzz
Add optional debugging routines for use in gdb.
R=kjlubick
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2171773002
Review-Url: https://codereview.chromium.org/
2171773002
lsalzman [Thu, 21 Jul 2016 16:37:59 +0000 (09:37 -0700)]
limit the number of points in SkDashPathEffect::asPoints
If the length of a line path is sufficiently long relative to the dash
interval, it is possible to cause SkDashPathEffect::asPoints to produce
so many points that it overflows the amount that can fit in an int type,
or otherwise produce non-finite values, i.e. path from (0,0) to (0,9e15)
with a dash interval of 1.
This fixes that by capping the amount of points to a sane limit - in this
case, 1mil, since that limit is also used in utils/SkDashPath.cpp and has
precedent.
Downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1287515
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165013002
Review-Url: https://codereview.chromium.org/
2165013002
robertphillips [Thu, 21 Jul 2016 16:35:07 +0000 (09:35 -0700)]
Remove SkGrPixelRef
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167173002
Review-Url: https://codereview.chromium.org/
2167173002
egdaniel [Thu, 21 Jul 2016 16:29:01 +0000 (09:29 -0700)]
Add vulkan compile bot to CQ
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2166353003
Review-Url: https://codereview.chromium.org/
2166353003
vjiaoblack [Thu, 21 Jul 2016 16:24:16 +0000 (09:24 -0700)]
Revert of Creating framework for drawShadowedPicture (patchset #14 id:260001 of https://codereview.chromium.org/
2146073003/ )
Reason for revert:
Decided to re-wait for a final LGTM.
Already found a bug in variable naming to fix.
Original issue's description:
> Creating framework for drawShadowedPicture
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2146073003
>
> Committed: https://skia.googlesource.com/skia/+/
0ae097d116f4332be02a135ffc99c162473dee6a
TBR=reed@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@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/
2167223002
robertphillips [Thu, 21 Jul 2016 16:21:04 +0000 (09:21 -0700)]
Remove DrawFace enum from GrPipelineBuilder
This gets GrPipelineBuilder.h out of the headers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165283002
Committed: https://skia.googlesource.com/skia/+/
da152ebb032c61bb2561bbb3e9a78037ad174d34
Review-Url: https://codereview.chromium.org/
2165283002
vjiaoblack [Thu, 21 Jul 2016 16:10:23 +0000 (09:10 -0700)]
Creating framework for drawShadowedPicture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2146073003
Review-Url: https://codereview.chromium.org/
2146073003
robertphillips [Thu, 21 Jul 2016 15:55:08 +0000 (08:55 -0700)]
Minor change to Ganesh path renderers
In large part this is an attempt to get non-substantive changes out of https://codereview.chromium.org/
2092893003/ (Retract PipelineBuilder some more)
All the other parameters extracted from DrawPathArgs are passed around by reference except for the userStencilSettings
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167183002
Review-Url: https://codereview.chromium.org/
2167183002
caryclark [Thu, 21 Jul 2016 15:53:32 +0000 (08:53 -0700)]
fix builder fuzz
Fix ASAN_heap-use-after-free crash
R=kjlubick
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2168963002
Review-Url: https://codereview.chromium.org/
2168963002
robertphillips [Thu, 21 Jul 2016 15:18:05 +0000 (08:18 -0700)]
Revert of Remove DrawFace enum from GrPipelineBuilder (patchset #2 id:20001 of https://codereview.chromium.org/
2165283002/ )
Reason for revert:
No Vulkan bot in CQ :(
Original issue's description:
> Remove DrawFace enum from GrPipelineBuilder
>
> This gets GrPipelineBuilder.h out of the headers
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165283002
>
> Committed: https://skia.googlesource.com/skia/+/
da152ebb032c61bb2561bbb3e9a78037ad174d34
TBR=bsalomon@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/
2167193002
bsalomon [Thu, 21 Jul 2016 15:05:01 +0000 (08:05 -0700)]
Update build_command_buffer.py to copy libcommand_buffer_gles2.so from the correct dir on linux
Apparently the linux build now puts the library in chromium's output dir rather than a lib/ subdir.
TBR=borenet@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165013003
Review-Url: https://codereview.chromium.org/
2165013003
robertphillips [Thu, 21 Jul 2016 14:58:41 +0000 (07:58 -0700)]
Remove DrawFace enum from GrPipelineBuilder
This gets GrPipelineBuilder.h out of the headers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165283002
Review-Url: https://codereview.chromium.org/
2165283002
robertphillips [Thu, 21 Jul 2016 14:17:54 +0000 (07:17 -0700)]
Deprecate SkDevice::accessBitmap method
Relies on https://codereview.chromium.org/
2162423003/ (Add SK_SUPPORT_LEGACY_ACCESSBITMAP Skia guard) landing in Chromium first.
Calved off: https://codereview.chromium.org/
2163323002/ (Add desired width & height to drawContext (as opposed to using the width & height of the RT))
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2168483003
Review-Url: https://codereview.chromium.org/
2168483003
brianosman [Thu, 21 Jul 2016 14:15:37 +0000 (07:15 -0700)]
Adding color space to SkSpecialImage
Mostly means that GPU backed special images need to be supplied (and
store) a color space object.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163343002
Review-Url: https://codereview.chromium.org/
2163343002
msarett [Thu, 21 Jul 2016 14:11:26 +0000 (07:11 -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
Committed: https://skia.googlesource.com/skia/+/
2ea944c2b710caf29d4795ac953bad14224796f7
Committed: https://skia.googlesource.com/skia/+/
959ccc1f3f49e1ddeb51c32c30ac4a2d94653856
Review-Url: https://codereview.chromium.org/
2117773002
mtklein [Thu, 21 Jul 2016 13:29:01 +0000 (06:29 -0700)]
Roll buildtools for latest GN binary.
This GN binary has a JSON backend that's meant to be parsed to seed other
build configurations (e.g. CMake, Android, Google3).
You will need to re-run ./gn.py to fetch the newest binary.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164263002
Review-Url: https://codereview.chromium.org/
2164263002
caryclark [Thu, 21 Jul 2016 12:48:43 +0000 (05:48 -0700)]
fix fuzzer bug
Fix another fuzzer bug.
Some PathOps asserts only make sense if the incoming data is
well-behaved. Well-behaved tests set debugging state to
trigger these additional asserts.
Formalize this by creating macros similar to SkASSERT that
check to see if the assert should be skipped.
TBR=reed@google.com
BUG=629962
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2169863002
Review-Url: https://codereview.chromium.org/
2169863002
msarett [Thu, 21 Jul 2016 12:38:49 +0000 (05:38 -0700)]
Trigger bots and upload images to Gold
TBR=borenet@google.com
NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163993003
Review-Url: https://codereview.chromium.org/
2163993003
jcgregorio [Thu, 21 Jul 2016 12:37:28 +0000 (05:37 -0700)]
docs: Add info on using blamer to the sheriffing docs.
BUG=skia:
R=kjlubick
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167803002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
2167803002
Review-Url: https://codereview.chromium.org/
2167803002
mtklein [Thu, 21 Jul 2016 01:10:07 +0000 (18:10 -0700)]
Correct sRGB <-> linear everywhere.
This trims the SkPM4fPriv methods down to just foolproof methods.
(Anything trying to build these itself is probably wrong.)
Things like Sk4f srgb_to_linear(Sk4f) can't really exist anymore,
at least not efficiently, so this refactor is somewhat more invasive
than you might think. Generally this means things using to_4f() are
also making a misstep... that's gone too.
It also does not make sense to try to play games with linear floats
with 255 bias any more. That hack can't work with real sRGB coding.
Rather than update them, I've removed a couple of L32 xfermode fast
paths. I'd even rather drop it entirely...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163683002
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/
2163683002
msarett [Wed, 20 Jul 2016 23:14:16 +0000 (16:14 -0700)]
Revert of Refactor parsing and storage of SkGammas (patchset #8 id:280001 of https://codereview.chromium.org/
2117773002/ )
Reason for revert:
Tests failing
Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/
2ea944c2b710caf29d4795ac953bad14224796f7
> Committed: https://skia.googlesource.com/skia/+/
959ccc1f3f49e1ddeb51c32c30ac4a2d94653856
TBR=reed@google.com,brianosman@google.com,mtklein@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/
2171623002
reed [Wed, 20 Jul 2016 23:13:32 +0000 (16:13 -0700)]
Have MakeFromImage fission the SkImage into a raster or a texture (patchset #1 id:1 of https://codereview.chromium.org/
2167813002/ )"
This reverts commit
3fb87201a104c9445fca341756a153f7b147c2a5.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164073004
TBR=robertphilips@google.com
Review-Url: https://codereview.chromium.org/
2164073004
reed [Wed, 20 Jul 2016 22:38:15 +0000 (15:38 -0700)]
Revert of have MakeFromImage fission the SkImage into a raster or a texture (patchset #1 id:1 of https://codereview.chromium.org/
2167813002/ )
Reason for revert:
broke ios build in chrome -- no_gpu?
Original issue's description:
> have MakeFromImage fission the SkImage into a raster or a texture
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167813002
>
> Committed: https://skia.googlesource.com/skia/+/
a61bfc6292edb990eae0b948648016550ef739a9
TBR=robertphillips@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/
2168643003
msarett [Wed, 20 Jul 2016 22:10:02 +0000 (15:10 -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
Committed: https://skia.googlesource.com/skia/+/
2ea944c2b710caf29d4795ac953bad14224796f7
Review-Url: https://codereview.chromium.org/
2117773002
reed [Wed, 20 Jul 2016 21:22:37 +0000 (14:22 -0700)]
have MakeFromImage fission the SkImage into a raster or a texture
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2167813002
Review-Url: https://codereview.chromium.org/
2167813002
brianosman [Wed, 20 Jul 2016 20:55:39 +0000 (13:55 -0700)]
Adding an SkColorSpace to SkImage_Gpu
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2165703003
Review-Url: https://codereview.chromium.org/
2165703003
caryclark [Wed, 20 Jul 2016 20:15:51 +0000 (13:15 -0700)]
exclude unused functions when mac uses freetype (for pdf)
R=bungeman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163833004
Review-Url: https://codereview.chromium.org/
2163833004
msarett [Wed, 20 Jul 2016 19:58:52 +0000 (12:58 -0700)]
Revert of Refactor parsing and storage of SkGammas (patchset #7 id:220001 of https://codereview.chromium.org/
2117773002/ )
Reason for revert:
Broken bots.
Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/
2ea944c2b710caf29d4795ac953bad14224796f7
TBR=reed@google.com,brianosman@google.com,mtklein@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/
2159253005
reed [Wed, 20 Jul 2016 19:28:40 +0000 (12:28 -0700)]
remove dead methods now that we use specials exclusively for imagefilters
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2164763003
Review-Url: https://codereview.chromium.org/
2164763003
jvanverth [Wed, 20 Jul 2016 19:22:14 +0000 (12:22 -0700)]
Use dFdx in Vulkan to address distance field issues.
On Nexus Player and occasionally Nexus 5x we get transparent boxes around
paths. This appears to be because the dFdy call is not as accurate as
dFdx, which is the opposite of Mali 400. As Mali 400 is not supported with
Vulkan, we can go back to using dFdx in this case.
BUG=skia:5523
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2163213004
Review-Url: https://codereview.chromium.org/
2163213004
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