platform/upstream/libSkiaSharp.git
8 years agolet line/cubic intersect at four spots
caryclark [Thu, 21 Jul 2016 19:28:04 +0000 (12:28 -0700)]
let line/cubic intersect at four spots

With this, let's update the fuzzer.

R=kjlubick@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2169983002

Review-Url: https://codereview.chromium.org/2169983002

8 years agoBasic standalone GN configs.
mtklein [Thu, 21 Jul 2016 19:25:45 +0000 (12:25 -0700)]
Basic standalone GN configs.

This sketches out what a world without Chrome's GN configs would look like.

Instead of DEPSing in build/, we now host our own gypi_to_gn.py.

The symlink from skia/ to . lets us run gclient hooks when the .gclient file is in the directory above skia/ or inside skia/.  That means we don't need gn.py anymore.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167163002

Review-Url: https://codereview.chromium.org/2167163002

8 years agoFixed GM:lightingshader2 size
dvonbeck [Thu, 21 Jul 2016 19:19:54 +0000 (12:19 -0700)]
Fixed GM:lightingshader2 size

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2171853002

Review-Url: https://codereview.chromium.org/2171853002

8 years agoRetract PipelineBuilder some more
robertphillips [Thu, 21 Jul 2016 19:04:08 +0000 (12:04 -0700)]
Retract PipelineBuilder some more

The main part of this CL is widening SkDrawContext::drawBatch's API to accept the userStencilSettings & drawFace

There is some ancillary spookiness related to expanding the should_apply_coverage_aa & mustUseHWAA methods to encompass mixedSamples

Calved off:
https://codereview.chromium.org/2165283002/ (Remove DrawFace enum from GrPipelineBuilder)
https://codereview.chromium.org/2167183002/ (Minor change to Ganesh path renderers)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2092893003

Review-Url: https://codereview.chromium.org/2092893003

8 years agoDrop support for libjpeg-turbo < 1.2 in SkJpegCodec
msarett [Thu, 21 Jul 2016 19:00:24 +0000 (12:00 -0700)]
Drop support for libjpeg-turbo < 1.2 in SkJpegCodec

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164283002

Review-Url: https://codereview.chromium.org/2164283002

8 years agoRemove unnecessary getColorSpace() API from SkCodec
msarett [Thu, 21 Jul 2016 18:57:49 +0000 (11:57 -0700)]
Remove unnecessary getColorSpace() API from SkCodec

Not needed since now we can get it from the SkImageInfo.

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2170793004

Review-Url: https://codereview.chromium.org/2170793004

8 years agoSetup system in Vulkan to reuse VkDescriptorSet allocations.
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

8 years agoallow curves on side of lines to be very small
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

8 years agoAdd "skp" asset
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

8 years agoCreating framework for drawShadowedPicture
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

8 years agoadd pathops debugging to fuzz
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

8 years agolimit the number of points in SkDashPathEffect::asPoints
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

8 years agoRemove SkGrPixelRef
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

8 years agoAdd vulkan compile bot to CQ
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

8 years agoRevert of Creating framework for drawShadowedPicture (patchset #14 id:260001 of https...
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

8 years agoRemove DrawFace enum from GrPipelineBuilder
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

8 years agoCreating framework for drawShadowedPicture
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

8 years agoMinor change to Ganesh path renderers
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

8 years agofix builder fuzz
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

8 years agoRevert of Remove DrawFace enum from GrPipelineBuilder (patchset #2 id:20001 of https...
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

8 years agoUpdate build_command_buffer.py to copy libcommand_buffer_gles2.so from the correct...
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

8 years agoRemove DrawFace enum from GrPipelineBuilder
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

8 years agoDeprecate SkDevice::accessBitmap method
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

8 years agoAdding color space to SkSpecialImage
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

8 years agoRefactor parsing and storage of SkGammas
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

8 years agoRoll buildtools for latest GN binary.
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

8 years agofix fuzzer bug
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

8 years agoTrigger bots and upload images to Gold
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

8 years agodocs: Add info on using blamer to the sheriffing docs.
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

8 years agoCorrect sRGB <-> linear everywhere.
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

8 years agoRevert of Refactor parsing and storage of SkGammas (patchset #8 id:280001 of https...
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

8 years agoHave MakeFromImage fission the SkImage into a raster or a texture (patchset #1 id...
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

8 years agoRevert of have MakeFromImage fission the SkImage into a raster or a texture (patchset...
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

8 years agoRefactor parsing and storage of SkGammas
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

8 years agohave MakeFromImage fission the SkImage into a raster or a texture
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

8 years agoAdding an SkColorSpace to SkImage_Gpu
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

8 years agoexclude unused functions when mac uses freetype (for pdf)
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

8 years agoRevert of Refactor parsing and storage of SkGammas (patchset #7 id:220001 of https...
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

8 years agoremove dead methods now that we use specials exclusively for imagefilters
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

8 years agoUse dFdx in Vulkan to address distance field issues.
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

8 years agoTune linear->sRGB constants to round-trip all bytes.
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

8 years agoRefactor parsing and storage of SkGammas
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

8 years agore-disable save/restore peephole optimization
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

8 years agoSkLS now accepting nullptr for diffuse shader and normal source, now accurately handl...
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

8 years agoAdd vulkan sdk to CIPD
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

8 years agore-chop if we fail on a big-bad-cubic
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

8 years agoImprove assert reporting.
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

8 years agoRemove SkDevice::accessRenderTarget virtual
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

8 years agoAdd GrVkRecycledResource subclass
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

8 years agoAdd integer array uniforms to GL and Vulkan
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

8 years agoConsolidate special case shape transformation logic in GrShapeTest.
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

8 years agoAdd iOS to platform_os_emoji.
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

8 years agoFix context creation problems in dm
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

8 years agouse special-image for imagefilters and save/restore layer
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

8 years agoAdd "Infra" to the builder_name_schema
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

8 years agoFix color order for 565,4444, and I8 samplers.
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

8 years agoPort FuzzPathop from chromium
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

8 years agopre-land special methods on device
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

8 years agoStub in Mac viewer code.
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

8 years agoRemove unused MakeFromTextureCopy API
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

8 years agoMinor cleanup of GrStencilAndCoverTextContext
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

8 years agoUpdate rounding/clamping comments on sk_linear_to_srgb().
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

8 years agoMake SkOTTable_name.cpp UTF-8.
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.

8 years agoFix master-skia build
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

8 years agoFix color order on LCD text when using sRGB software backend.
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

8 years agoexclude test that fails on google3 asan
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

8 years agofix fuzzer
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

8 years agoDisable qcms on build for Android framework
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

8 years agoEnable libjpeg-turbo features
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

8 years agoClarify GrGradientEffect key enum
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

8 years agoMake sk_app::WindowContext directly create a SkSurface without an intermediate GrRend...
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

8 years agoImprove naive SkColorXform to half floats
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

8 years agoCreate DCs instead of textures in SRGBMipMaps test
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

8 years agoCreate DCs rather than textures in GrConfigConversionEffect
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

8 years agoSimplify random_draw_context used by GLProgramsTest
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

8 years agoremove unused MakeFromPixmap
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

8 years agoGN: refactor third_party/gni
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

8 years agoStart from DC rather than texture in GrTexutreParamsAdjuster copy code.
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

8 years agoFix debugging code for tracing texture creation
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

8 years agoMake SkFont a bit more useable
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

8 years agoConvert readSurfacePixels to use a draw context instead of a texture
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

8 years agoFix GrGLInterface::validate() to check for GL_OES_sample_shading on ES contexts
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

8 years agoDelete the legacy SVG parser
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

8 years agoGN: polyfill is_fuchsia
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

8 years agoDelete SkXMLPullParser
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

8 years agoRename variables in SkCanvas::internalSaveLayer
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

8 years agoFix the assert and clamping in SkMatrix::get*Scale[s]().
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

8 years agoFix rewinding bug in SkJpegCodec
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

8 years agoRotate bitmap strikes with FreeType.
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

8 years agoRevert of Fix rewinding bug in SkJpegCodec (patchset #1 id:1 of https://codereview...
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

8 years agoRemove guards in GrGLInterface::validate() for functions that Chromium used to not...
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

8 years agoPush GrPipelineBuilder down to the drawBatch calls in the TextContext
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

8 years ago[SkXMLParser] Initial text node support
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

8 years agoAdd bounds info
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

8 years agocheck for culled-out paths inside SkDraw
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

8 years agodisable test that fails to compute bounds on nexus 5
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

8 years agodisable new test since it fails on skia_fast
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

8 years agoTweak a couple things I found confusing in ColorSpaceXform unit tests.
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

8 years agoRemove SkDOM::build(const char doc[], size_t len)
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

8 years agoIntroduce GrColorSpaceXform, for gamut conversion on textures
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