History log of /external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f86d3680b19f05b43a2404bbc87db14133047829 17-Jun-2017 Bruce Dawson <brucedawson@google.com> Enable constexpr for VC++ 2017

VC++ 2017 fixes the internal compiler error which prevented using
constexpr for some BlendFormula arrays, so tweak the #ifdefs to
enable constexpr for 2017.

This gets rid of two constructors and slightly shrinks chrome_child.dll

BUG=chromium:341941

Change-Id: Ic4079b2da393ee89dd38da5bbb2d7c8ede8020e8
Reviewed-on: https://skia-review.googlesource.com/20160
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
d7b1159d787de27d75032ec213903a03962ec839 14-Jun-2017 Greg Daniel <egdaniel@google.com> Revert "Revert "Go back to using dual source blending for lcd src-over even with non-opaque color""

This reverts commit 7d6fe0b9964d139de64ca88c46d87eba41c7f84e.

Reason for revert: Relanding with fix

Original change's description:
> Revert "Go back to using dual source blending for lcd src-over even with non-opaque color"
>
> This reverts commit b54bdef86eb5cf63b94588afaa9197f49374a5f5.
>
> Reason for revert: breaking some bots
> Original change's description:
> > Go back to using dual source blending for lcd src-over even with non-opaque color
> >
> > This is change is currently still safe since earlier in Skia we are still requiring
> > the dst to be opaque. The change is a workaround to spots where trying to read the
> > dst to do in shader blending is failing for some reason. This also should give back
> > a little performance since doing dual source blending should be better than shader
> > blends.
> >
> > Bug: chromium:732341
> > Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29
> > Reviewed-on: https://skia-review.googlesource.com/19703
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com
>
> Change-Id: Ibb9bc1ef4ec5967dabcd62c81f62c0989c14fbb8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:732341
> Reviewed-on: https://skia-review.googlesource.com/19815
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com
Bug: chromium:732341

Change-Id: I7481755a9aa64364371d8149af4458fc2c15c8aa
Reviewed-on: https://skia-review.googlesource.com/19840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7d6fe0b9964d139de64ca88c46d87eba41c7f84e 14-Jun-2017 Greg Daniel <egdaniel@google.com> Revert "Go back to using dual source blending for lcd src-over even with non-opaque color"

This reverts commit b54bdef86eb5cf63b94588afaa9197f49374a5f5.

Reason for revert: breaking some bots
Original change's description:
> Go back to using dual source blending for lcd src-over even with non-opaque color
>
> This is change is currently still safe since earlier in Skia we are still requiring
> the dst to be opaque. The change is a workaround to spots where trying to read the
> dst to do in shader blending is failing for some reason. This also should give back
> a little performance since doing dual source blending should be better than shader
> blends.
>
> Bug: chromium:732341
> Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29
> Reviewed-on: https://skia-review.googlesource.com/19703
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: Ibb9bc1ef4ec5967dabcd62c81f62c0989c14fbb8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:732341
Reviewed-on: https://skia-review.googlesource.com/19815
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
b54bdef86eb5cf63b94588afaa9197f49374a5f5 13-Jun-2017 Greg Daniel <egdaniel@google.com> Go back to using dual source blending for lcd src-over even with non-opaque color

This is change is currently still safe since earlier in Skia we are still requiring
the dst to be opaque. The change is a workaround to spots where trying to read the
dst to do in shader blending is failing for some reason. This also should give back
a little performance since doing dual source blending should be better than shader
blends.

Bug: chromium:732341
Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29
Reviewed-on: https://skia-review.googlesource.com/19703
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
28207df02b3dee83141520adf23df2c6aa087860 05-Jun-2017 Brian Salomon <bsalomon@google.com> Make GrSimpleMeshDrawOpHelper record whether coverage can be implemented as alpha

This also makes the blend table entry for opaque src over indicate a blend of (1, ISA) rather than (1, 0) to match the actual implementation of the global src-over XP.
Change-Id: I1b1f64d2546e4f0cf03c0239ce674d1baad655f6
Reviewed-on: https://skia-review.googlesource.com/18521
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
aa13223f54d1f55ba702582f61359f8b43782730 24-May-2017 Greg Daniel <egdaniel@google.com> Allow for non opaque colors for src-over lcd fallback case in gpu

Since skia is currently requiring the dst to be opaque for lcd draws this
change is safe to make in terms of correctly. It will also be faster than
the current shader based blending.

Bug: chromium:725879
Change-Id: I0c14b80eb5ab819500afc55030df83d5ddbef94a
Reviewed-on: https://skia-review.googlesource.com/17840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
79cdf28c51c8f8ff83575677419f95c0657fa077 22-May-2017 Greg Daniel <egdaniel@google.com> Fix to lcd blending in ganesh

This fixes the bug where a src color may originally be opaque but after
blending it is no longer opaque. We need to know the opacity after the
blend so this restricts us on which blend modes even work this way.

Bug: skia:
Change-Id: Ib3208887d718e5f25272ed7b0bf44683d04884d7
Reviewed-on: https://skia-review.googlesource.com/17488
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
49354a30ea8a24d1f374e5eda79ed603010c43bd 19-May-2017 Greg Daniel <egdaniel@google.com> Update Porter Duff analysis to match LCD logic.

Bug: skia:
Change-Id: Ib222c37f7ebb307752806829742a3b6278dbae3d
Reviewed-on: https://skia-review.googlesource.com/17410
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
6ebe4b9dbeab68ca3b6da61fd08f22cdc080267d 19-May-2017 Greg Daniel <egdaniel@google.com> Fix gpu lcd blending to semi-correctly handle alpha coverage

Bug: skia:6606
Change-Id: I16ccd97f5d047eb7fddfed5310bf669e7435ccdd
Reviewed-on: https://skia-review.googlesource.com/17370
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7b29749c13deab4588cbe0414a93191326800712 10-Apr-2017 Brian Salomon <bsalomon@google.com> constexprify GrBlend.h and GrPorterDuffXferProcessor.cpp

Also remove some unused functions from GrBlend.h and related unit test.

Bug: skia:
Change-Id: Id8ad0057a02f65a9e19dc75e4b88709a762f4139
Reviewed-on: https://skia-review.googlesource.com/12623
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
d61c9d93b126dca0af17eff89be8536944dadf81 10-Apr-2017 Brian Salomon <bsalomon@google.com> Move ref counting out of GrProcessor and into subclasses.

This will allow different subclasses to use different models for lifetime management.

GrXferProcessor moves to simple ref counting since they don't own GrGpuResources.

This also constifies GrXferProcessor factories.

Change-Id: I6bea0ea8de718874063224232f9da50887868b16
Reviewed-on: https://skia-review.googlesource.com/11792
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
a076d8711d24b8181f894038a4fd34d5327f1717 04-Apr-2017 Brian Salomon <bsalomon@google.com> Use sk_sp with GrXferProcessor and use a static factory to handle the nullptr==srcover case.

Bug: skia:
Change-Id: I9c07069fc2aae24fc2884c18939e3a649afc27e7
Reviewed-on: https://skia-review.googlesource.com/11282
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
18dfa980765bee6a1ce7c5f430cb32f487da6590 03-Apr-2017 Brian Salomon <bsalomon@google.com> Store the dst texture used by an XP in GrPipeline rather than in the XP.

This will allow the XP to be created before the dst texture.

Change-Id: I3e5bdfa8e5d47e58a3560792ce5cf3899d30a024
Reviewed-on: https://skia-review.googlesource.com/11011
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
a811b1200cc0b5e3819c89f62def23ec203d4b5a 30-Mar-2017 Brian Salomon <bsalomon@google.com> Renames of processor analysis-related classes and method.

GrProcesserSet::FragmentProcessorAnalysis->GrProcessorSet::Analysis
GrPipelineAnalysisColor->GrProcessorAnalysisColor
GrPipelineAnalysisCoverage->GrProcessorAnalysisCoverage
GrMeshDrawOp::getFragmentProcessorAnalysisInputs->GrMeshDrawOp::getProcessorAnalysisInputs

Change-Id: I28ad19dfab5f4ac1788c4eacdec5e1af2a701dd0
Reviewed-on: https://skia-review.googlesource.com/10747
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
1c6025cc9da4a4f3a8ad16dde2ae8dcf120ed270 29-Mar-2017 Brian Salomon <bsalomon@google.com> Make analysis optional to GrPipeline::init().

GrXPFactory::createXferProcessor now takes GrPipelineAnalysisColor and GrPipelineAnalysisCoverage rather than GrProcessorSet::FragmentProcessorAnalysis.

This will make it so ops do not have to retain the analysis or rerun it to create pipelines at flush time.

Change-Id: Ib28ba65de425b20c2647329275f209aec168c3df
Reviewed-on: https://skia-review.googlesource.com/10474
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
318538484f99253b6a2acf97d4d1b420e628b289 28-Mar-2017 Brian Salomon <bsalomon@google.com> Remove GrXferProcessor::getOptimizations.

This replaces GrXferProcessor::getOptimizations with a new function on GrXPFactory. The results are made available via FragmentProcessorAnalysis.

Bug: skia:
Change-Id: I535985458c9d13ad858cac94e957e2fdbe332036
Reviewed-on: https://skia-review.googlesource.com/10218
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c0b642ca48d58416409e555549434066f09692b7 27-Mar-2017 Brian Salomon <bsalomon@google.com> Split GrPipelineInput into separate color and coverage types, the latter of which is just an enum.

Assign names that indicate that they aren't just for the input phase since I plan to use them at the boundary between FPs and XPs as well.

Renamed GrProcOptInfo to GrColorFragmentProcessorAnalysis. This is now only used on the color side and the new name seems clearer to me.

Change GrMeshDrawOp::getFragmentProcessorAnalysisInputs to use the new color/coverage types directly rather than a class that has been reduced to simply bundling them together.

Change-Id: If93bae74c9d590486eecdf63f302418c96deab65
Reviewed-on: https://skia-review.googlesource.com/10161
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
d3b65972aad96453ff4510caa3e25a2b847c6d1e 22-Mar-2017 Brian Salomon <bsalomon@google.com> Mark overridden destructors with 'override' and remove 'virtual'

This silences a new warning in clang 5.0

Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8
Reviewed-on: https://skia-review.googlesource.com/10006
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
54d212e1bfaea0be88c3c40820d0b1ae0daebecf 21-Mar-2017 Brian Salomon <bsalomon@google.com> Revert "Revert "Remove GrPipeline from GrDrawOp.""

This reverts commit c48af934608bbb65650641f66adb51f2102d4274.

Change-Id: I4ba78fd7e5a7d406b88223ca6f7245c029b60f76
Reviewed-on: https://skia-review.googlesource.com/9981
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c48af934608bbb65650641f66adb51f2102d4274 16-Mar-2017 Brian Salomon <bsalomon@google.com> Revert "Remove GrPipeline from GrDrawOp."

This reverts commit 2bf4b3a97b770811d9e0558dbbfbdb57cfafbdb7.

Reason for revert: nanobench assertion

Original change's description:
> Remove GrPipeline from GrDrawOp.
>
> GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering.
>
> GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs.
>
> NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder.
>
> The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes.
>
> Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff
> Reviewed-on: https://skia-review.googlesource.com/7279
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1bc64f6cbbd5f482417637a034342c2b5371dc5c
Reviewed-on: https://skia-review.googlesource.com/9817
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
2bf4b3a97b770811d9e0558dbbfbdb57cfafbdb7 16-Mar-2017 Brian Salomon <bsalomon@google.com> Remove GrPipeline from GrDrawOp.

GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering.

GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs.

NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder.

The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes.

Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff
Reviewed-on: https://skia-review.googlesource.com/7279
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
780b41fc10fb212ec6d9a9aeb7ca4cc0292fb85e 13-Mar-2017 Brian Salomon <bsalomon@google.com> Add query to GrXPFactory about coverage-as-alpha optimization

This will be needed to have GrDrawOps that haven't yet built pipelines.

Change-Id: If5292aaa5dc9f98dccbe27be98960b630332158d
Reviewed-on: https://skia-review.googlesource.com/9480
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
42c456fd20bd45dd02f6d5eb0af7acf04341b1ee 06-Mar-2017 Brian Salomon <bsalomon@google.com> Remove PLS path renderer

Change-Id: Ib727b0749a5a7da95832970e79804417e8b6a247
Reviewed-on: https://skia-review.googlesource.com/9300
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
1c10fddd1f563412f501e49db1d21844c4d5b058 03-Mar-2017 Brian Salomon <bsalomon@google.com> Remove XP override color.

The only use case for this was using the blend constant for LCD text. Now instead of overriding the op's color with an alpha we upload the alpha as a uniform.

This also removes two unused parameters from GrXferProcessor::getOptimizations.

Change-Id: I8268da9904a5d26649c6ae81a5705b0930893904
Reviewed-on: https://skia-review.googlesource.com/9221
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
afb41033efae3f5c71cac8c6127236efab613125 01-Mar-2017 Brian Salomon <bsalomon@google.com> Unpremul the blend constant in PDLCDXferProcessor.

This was accidentally dropped in https://skia.googlesource.com/skia.git/+/eec6f7be5461e588210f383b8af18f324a2bdb46

BUG=chromium:695626

Change-Id: If715fdc673fafa4baf6a61545c2b3b9d3ded9232
Reviewed-on: https://skia-review.googlesource.com/9117
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
02baee973f973e56149147fa7c81a2c9c35d77d8 24-Feb-2017 Brian Salomon <bsalomon@google.com> Remove the skip-draw xp optimization

This seems like extra complexity for a impractical case. Also, if this is important a lot more work could be saved by catching this upstack (e.g. SkCanvas or SkPaintToGrPaint).

Change-Id: Ib47be9f3cdc8ce9e5b12d9e9eac5266f04c337a9
Reviewed-on: https://skia-review.googlesource.com/8949
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
5298dc8bf30f580f551d130346c007efaf4b2098 22-Feb-2017 Brian Salomon <bsalomon@google.com> Make GrPipelineAnalysis a nested class of GrProcessorSet.

It is renamed to FragmentProcessorAnalysis since it represents the outputs of the final FPs.

It now stores the analysis results that are subsequently needed rather than exposing GrProcOptInfo.

GrProcOptInfo is now only used on color FPs (not coverage).

Miscellaneous related renamings.


Change-Id: I95c518a7a76df6dc294a9fa67c611f8f653247bc
Reviewed-on: https://skia-review.googlesource.com/8534
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
00b2cca30033c984662ccc7d1eaed962b3714ad7 21-Feb-2017 Brian Salomon <bsalomon@google.com> Simplify GrPaint::isConstantBlendedColor to avoid FP analysis and XP virtual calls

This was the only non-test user of GrXPFactory::isConstantPreCoverageBlendedColor which is now removed.

Change-Id: Ic1c130d30a44e1a955b89f8912433a3c9df2e61e
Reviewed-on: https://skia-review.googlesource.com/8776
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
eb62829a83a0a4f4fdd1230a3c08140e38052602 15-Feb-2017 Brian Salomon <bsalomon@google.com> Check that coverage FPs are compatible with alpha as coverage

Change-Id: Ic3b6a02248d571e82f6729827c199d358fb75114
Reviewed-on: https://skia-review.googlesource.com/8508
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f3b995b628ef76bff28b9721dd1e182336156086 15-Feb-2017 Brian Salomon <bsalomon@google.com> Clarify when tweak alpha for coverage optimizaton can occur.

Also refer to it directly rather than using the term "modulate"

Change-Id: Ifa44a4d46e1be11b567943f58ead24e38f10d03b
Reviewed-on: https://skia-review.googlesource.com/8488
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
9a51498720e234b413e5a3c46d38ab40bda131de 14-Feb-2017 Brian Salomon <bsalomon@google.com> Remove component flags from GrXPFactory output analysis.

Change-Id: Ieb8dab564e6e593dca2e092d352756052dadfd90
Reviewed-on: https://skia-review.googlesource.com/8354
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
eec6f7be5461e588210f383b8af18f324a2bdb46 10-Feb-2017 Brian Salomon <bsalomon@google.com> Use new fragment processor optimization queries.

This doesn't yet delete the old virtuals.

It still uses the color and component flags model for the pipeline input and blended output but I'm planning to change those as well.

Change-Id: I64e2ec0fe9ed9fae3aabf1ca8c9bc0582fc7565a
Reviewed-on: https://skia-review.googlesource.com/7760
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
119fb2b9505aea87900d2cf5cf3573814bcae08c 08-Feb-2017 csmartdalton <csmartdalton@google.com> Add a basic constructor to GrPipeline

Adds a simple constructor for when we just need to set up basic
internal rendering.

BUG=skia:

Change-Id: Ib046c62e9a759aa7d0a3345e16ccf6e6af9342ea
Reviewed-on: https://skia-review.googlesource.com/8121
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
6f6961ebad65c582318564b3688e78e5c99f3935 31-Jan-2017 Hal Canary <halcanary@google.com> make GR_TEST_UTILS=0 work

Change-Id: Icce35140ca08b65217b32e6b1ffc6ad2f38ab37f
Reviewed-on: https://skia-review.googlesource.com/7840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
5be6c95fa95a518ab109339df4695d6dda6e2419 20-Jan-2017 Brian Salomon <bsalomon@google.com> Revert "Revert "Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis.""

This reverts commit 3329cceab5feca230df1caee16be045249228dc1.

Reason for revert: Bot failures are unrelated to the original change.

Change-Id: I21b5927dc4384a25930bdefe16e57bcc9276ffa4
Reviewed-on: https://skia-review.googlesource.com/7347
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
3329cceab5feca230df1caee16be045249228dc1 20-Jan-2017 Brian Salomon <bsalomon@google.com> Revert "Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis."

This reverts commit f833215420847565b4c9945aebdc2e7ae182937f.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis.
>
> Change-Id: I8c140eb4e3e5f2d21ecbf8f8f3c8533dc7f50e7c
> Reviewed-on: https://skia-review.googlesource.com/7316
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I790afb9a01422cb4c2d3a4be4ecd20e8c4466b29
Reviewed-on: https://skia-review.googlesource.com/7342
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f833215420847565b4c9945aebdc2e7ae182937f 20-Jan-2017 Brian Salomon <bsalomon@google.com> Make it possible to query GrXPFactory for dst texture without GrPipelineAnalysis.

Change-Id: I8c140eb4e3e5f2d21ecbf8f8f3c8533dc7f50e7c
Reviewed-on: https://skia-review.googlesource.com/7316
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
aab259ea9ecabb3addcade3fba72d777bc7673e8 17-Jan-2017 Brian Salomon <bsalomon@google.com> Simplify GrProcOptInfo initialization.

Removes unused single channel tracking.

Makes it so that only the op/gp can initiate lcd coverage.

Makes GrProcOptInfo fragment processor analysis continuable.

Change-Id: I003a8aa3836bb64d04b230ddee581dc500e613a9
Reviewed-on: https://skia-review.googlesource.com/7039
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
a16339297859f37df69230e64f05624cef511ad3 09-Jan-2017 Brian Salomon <bsalomon@google.com> Revert "Revert "Removing ref counting from GrXPFactory.""

This reverts commit 003312a211e65f35e402d6fe80a32e23d4c94ac4.

Change-Id: Ib41065e5c356d1dd99e70fa10611ac6756c2b79d
Reviewed-on: https://skia-review.googlesource.com/6803
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
003312a211e65f35e402d6fe80a32e23d4c94ac4 09-Jan-2017 Brian Salomon <bsalomon@google.com> Revert "Removing ref counting from GrXPFactory."

This reverts commit a8f80de2bc17672b4b6f26d3cf6b38123ac850c9.

Reason for revert: nanobench failing on windows bots, possibly others

Change-Id: Iacb8c650064a28654c165665be057377ffb02ba5
Reviewed-on: https://skia-review.googlesource.com/6802
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
a8f80de2bc17672b4b6f26d3cf6b38123ac850c9 07-Jan-2017 Brian Salomon <bsalomon@google.com> Removing ref counting from GrXPFactory.

All GrXPFactory instances are static constexpr.

Change-Id: If1086b08534166201e53b3fd9379104e361eb5e6
Reviewed-on: https://skia-review.googlesource.com/6701
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
8c852be264d003b2e610c5b8634bc0f81c46bbba 04-Jan-2017 Brian Salomon <bsalomon@google.com> Removing tracking of whether GP/FP coverage calculations are used by XP.

Remove readsCoverage from GrPipelineOptimizations

Remove kNone from GrDefaultGeoProc::Coverage

Remove kIgnoreCoverage from GrXferProcessor::OptFlags

Remove GrPipeline::fIgnoresCoverage

Change-Id: I8f0c9337ee98b9c77af1e9a8a184519ce63822d4
Reviewed-on: https://skia-review.googlesource.com/6552
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
92aee3d6857386f2b5b8e1148e680a7b58e9b1fc 21-Dec-2016 Brian Salomon <bsalomon@google.com> This renames methods and classes that relate to static analysis of combinations of GrDrawOps and GrPipelines.

Change-Id: I737b901a19d3c67d2ff7f95802fb4df35656beb2
Reviewed-on: https://skia-review.googlesource.com/6199
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
94efbf51f5a88d9e8aa961d3fbe38c5e335d6108 29-Nov-2016 Brian Salomon <bsalomon@google.com> Merge GrGLSLCaps into GrShaderCaps

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

Change-Id: If8d13638f80f42161cbc766a2666c5789e5772c8
Reviewed-on: https://skia-review.googlesource.com/5121
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
d47067392848ba132d4e86ffbeebe2dcacda9534 15-Nov-2016 Mike Reed <reed@google.com> make SkXfermode.h go away

This is step one:
- make SkXfermode useless to public clients
- everything they should need is in SkBlendMode.h

Step two:
- remove SkXfermode.h entirely (since skia core will already be using SkXfermodePriv.h)

BUG=skia:

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

Change-Id: If2cea9f71df92430ed6644edb98dd306c5572cbc
Reviewed-on: https://skia-review.googlesource.com/4534
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7d954ad797176afedb9262fdea4507d0fc60eb9d 28-Oct-2016 Mike Reed <reed@google.com> remove xfermode from public api

BUG=skia:

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I19cd056f2af778f10e8c6c2b7b2735593b43dbac
Reviewed-on: https://skia-review.googlesource.com/4020
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
fc6c37b981daeece7474ce61070c707c37eefa62 27-Sep-2016 Mike Klein <mtklein@chromium.org> Remove stray semicolons.

Turns out function declarations don't end in semicolons...

BUG=skia:

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

No public API changes.
TBR=reed@google.com

Change-Id: I72b56d52e1ff7fa6e89c295b0de8c46599791ebb
Reviewed-on: https://skia-review.googlesource.com/2720
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
abe795e4db533c2e230be0c2be868754e5a02a7e 19-Aug-2016 egdaniel <egdaniel@google.com> Relax check for gpu use of static src-over XP

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

Review-Url: https://codereview.chromium.org/2259113002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
06ca8ec87cf6fab57cadd043a5ac18c4154a4129 09-Jun-2016 bungeman <bungeman@google.com> sk_sp for Ganesh.

Convert use of GrFragmentProcessor, GrGeometryProcessor, and
GrXPFactory to sk_sp. This clarifies ownership and should
reduce reference count churn by moving ownership.

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

Review-Url: https://codereview.chromium.org/2041113004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
3ccf2e75ed92adb3c2c289e0cb95901d162df394 06-May-2016 cdalton <cdalton@nvidia.com> Remove hasMixedSamples() from GrPipelineBuilder

This info is unknown until after any clip has been applied to the
stencil settings, so it's misleading to include in the builder.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952323002

Review-Url: https://codereview.chromium.org/1952323002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 29-Mar-2016 halcanary <halcanary@google.com> Style bikeshed - remove extraneous whitespace

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002

Review URL: https://codereview.chromium.org/1842753002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
2279325d539700ee3da29d6e874b3b3ce1dcf49c 30-Jan-2016 ethannicholas <ethannicholas@google.com> added support for PLS path rendering

BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002

Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

Review URL: https://codereview.chromium.org/1541903002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f42fca4027ed4f235ef927786813a5ed0e6652b9 27-Jan-2016 robertphillips <robertphillips@google.com> Add gpu implementation of OverdrawXfermode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002

Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba

Review URL: https://codereview.chromium.org/1607253002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
5366a09ed07e886dd5fd1b94828241c53df3726d 22-Jan-2016 ethannicholas <ethannicholas@google.com> Revert of added support for PLS path rendering (patchset #16 id:360001 of https://codereview.chromium.org/1541903002/ )

Reason for revert:
ASAN failure at src/gpu/GrXferProcessor.cpp:224

Original issue's description:
> added support for PLS path rendering
>
> BUG=skia:3555
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002
>
> Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002

Review URL: https://codereview.chromium.org/1626553002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
e429c88a811dfa05a26582a06fd53752768aa9f4 22-Jan-2016 robertphillips <robertphillips@google.com> Revert of Add gpu implementation of OverdrawXfermode (patchset #6 id:100001 of https://codereview.chromium.org/1607253002/ )

Reason for revert:
Overdraw Xfer mode using new fangled glsl features

Original issue's description:
> Add gpu implementation of OverdrawXfermode
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002
>
> Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba

TBR=egdaniel@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.

Review URL: https://codereview.chromium.org/1626443002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7df3f5e127f8016d17b637cc48a6a4718f1a6822 22-Jan-2016 ethannicholas <ethannicholas@google.com> added support for PLS path rendering

BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002

Review URL: https://codereview.chromium.org/1541903002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
8bc3cf88bbf5e5d5724356f076931bb70a6117ba 20-Jan-2016 robertphillips <robertphillips@google.com> Add gpu implementation of OverdrawXfermode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002

Review URL: https://codereview.chromium.org/1607253002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
221524de3be1fc343ad328c5e99562f32b5cad9c 05-Jan-2016 bungeman <bungeman@google.com> Start using <type_traits> and <utility> (C++11).

SkUtility.h and SkTLogic.h implement a number of type traits now
available through <type_traits> and <utility>. This removes SkUtility.h,
replacing it with <utility>, and moves a number of traits in
SkTLogic.h to use the std:: equivelents. This change only uses C++11
parts of the standard library; SkTLogic.h will continue to provide
C++14 and beyond for now in the skstd namespace.

The changes to SkTLogic.h are being done gradually so that safe changes
may be landed confidently, with more risky changes in the future.

Review URL: https://codereview.chromium.org/1561683002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
2047b7855546b21f7956c398592c070b3f91a9db 21-Dec-2015 bsalomon <bsalomon@google.com> Don't ref/unref the static src-over xp
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1540363002

bug=chromium:570301

Review URL: https://codereview.chromium.org/1540363002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7ea439b2203855db97330b25945b87dd4b170b8b 03-Dec-2015 egdaniel <egdaniel@google.com> Create GLSLUniformHandler class for gpu backend

BUG=skia:

Review URL: https://codereview.chromium.org/1490283004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f34b293681ea49aaa4aaa70d84515e4a58a112e7 01-Dec-2015 egdaniel <egdaniel@google.com> Add in shader blending for CoverageSetOp XP

BUG=skia:

Review URL: https://codereview.chromium.org/1488213002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
56cf6dcb6572f1d355af041c1ebf157b2b3d0165 30-Nov-2015 egdaniel <egdaniel@google.com> Create a static instances of SrcOver XferProcessor

BUG=skia:

Review URL: https://codereview.chromium.org/1471293003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
de4166a3b45d859512e27e3257841f064d67549c 30-Nov-2015 ethannicholas <ethannicholas@google.com> APIs which took colorPOI / coveragePOI pairs updated to take a GrPipelineOptimizations struct

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1480353002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c4b72720e75313079212e69e46a5ef7c474b2305 23-Nov-2015 egdaniel <egdaniel@google.com> Don't create a GXPFactory when blend is SrcOver

BUG=skia:

Review URL: https://codereview.chromium.org/1471053002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f234272cbdcbcd46be462317e75cd138999c9fe9 21-Nov-2015 egdaniel <egdaniel@google.com> Revert of Make specialized SrcOver XPFactory (patchset #3 id:40001 of https://codereview.chromium.org/1455273006/ )

Reason for revert:
breaking some builds

Original issue's description:
> Make specialized SrcOver XPFactory
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/a7006d45217d128a94fa53cb4b827cca79bc7049

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1464933003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
a7006d45217d128a94fa53cb4b827cca79bc7049 20-Nov-2015 egdaniel <egdaniel@google.com> Make specialized SrcOver XPFactory

BUG=skia:

Review URL: https://codereview.chromium.org/1455273006
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
4ca2e6034365ad280ec64473f7f1d72ebd8335e4 18-Nov-2015 egdaniel <egdaniel@google.com> Add ShaderBuilders to EmitArgs and remove gettings from ProgBuilder.

BUG=skia:

Review URL: https://codereview.chromium.org/1457543003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
57d3b039c635945e1dc2fcbac3462ed8bfedb068 13-Nov-2015 egdaniel <egdaniel@google.com> Rename some processor functions from GL to GLSL

TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1443743002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
fa4cc8bf2aa782431609dd2ac16b1fc36de72e44 13-Nov-2015 egdaniel <egdaniel@google.com> Move XferProcessors to glsl

This is basically a move and rename

TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1440073002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
64c4728c70001ed074fecf5c4e083781987b12e9 13-Nov-2015 egdaniel <egdaniel@google.com> Make all GrFragmentProcessors GL independent.

TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1434313002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
2d721d33aad192cc8a7a1321504b39bdca2a57ce 11-Nov-2015 egdaniel <egdaniel@google.com> Move all ShaderBuilder files to GLSL

BUG=skia:

Review URL: https://codereview.chromium.org/1438003003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
8dcdedc4a087ea46ce1e2458d335d60918e56310 11-Nov-2015 egdaniel <egdaniel@google.com> Make GrGLSLProgramBuilder base class for GrGLProgramBuilder.

This CL still keeps the weird diamond shape we have for all our ProgramBuilders.
However, the GrGLSL base class will allow us to pull multiple other parts
of our program setup away from GL which will eventually allow us to break up
the diamond.

As part of this all ShaderBuilder subclass have been made gl independent,
however I will move them to GLSL files/class names in a follow on CL.

BUG=skia:

Review URL: https://codereview.chromium.org/1416423003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
018fb62d12d1febf121fe265da5b6117b86a6541 28-Oct-2015 egdaniel <egdaniel@google.com> Create GLSL base class for ProgramDataManager

BUG=skia:

Review URL: https://codereview.chromium.org/1428543003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
e73f1f6dfa665802a942e743a227b5c98bc958db 22-Sep-2015 egdaniel <egdaniel@google.com> Prefer dual source/framebuffer fetch paths for GPU LCD.

This will allow us to batch over color changes for LCD text.

BUG=skia:

Review URL: https://codereview.chromium.org/1354423002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
ae4738f677c70f4ec7687422e1510ee3d80d810e 16-Sep-2015 bsalomon <bsalomon@google.com> Create fragment processor for performing input color blend with child processor

The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes.

Review URL: https://codereview.chromium.org/1334293003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
723b0501e22373bb3e6c306daaceae02cda8a124 15-Sep-2015 egdaniel <egdaniel@google.com> Add support for blending of LCD for all blend modes.
BUG=skia:

Review URL: https://codereview.chromium.org/1313623002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c21b09eec91c9e263cb0b88467ea44e348ed4962 29-Aug-2015 bsalomon <bsalomon@google.com> Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*

Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa

Review URL: https://codereview.chromium.org/1316513002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
a511e6ad1042093bea5b015c22a920313fc57c0b 29-Aug-2015 rmistry <rmistry@google.com> Revert of Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor* (patchset #8 id:140001 of https://codereview.chromium.org/1316513002/ )

Reason for revert:
Primary suspect in failing DEPS rolls:
* https://codereview.chromium.org/1315753006
* https://codereview.chromium.org/1308323006
* https://codereview.chromium.org/1320903004

Primary suspect because the failing win bots did not fail in https://codereview.chromium.org/1315753005

Original issue's description:
> Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
>
> Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa

TBR=joshualitt@google.com,wangyix@google.com,robertphillips@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1313573005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
ecfdc251be71f3d634e76afdd6375bf55fc061aa 28-Aug-2015 bsalomon <bsalomon@google.com> Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*

Review URL: https://codereview.chromium.org/1316513002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
761cf6186e291ee8e4761e1280634cfe9c42eccc 28-Aug-2015 bungeman <bungeman@google.com> Clean up SkTLogic.

This change regularizes Skia's type traits so that when <type_traits>
can finally be used the transition is easier. Various traits are
renamed to match <type_traits> and placed in the skstd namespace.
Current users of these traits are updated.

Review URL: https://codereview.chromium.org/1317593004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
cef14bf9ce626e6e6582f3aac18c8e176b987f3e 24-Jul-2015 wangyix <wangyix@google.com> Added GrGLBlend.h|cpp with helper function AppendPorterDuffBlend() in preparation for SkComposeShader gpu backend

BUG=skia:

Review URL: https://codereview.chromium.org/1254833003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
0067ff5e0f85084dd2b5ad9886b526482b89a116 08-Jul-2015 joshualitt <joshualitt@chromium.org> fix up test create functions

TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1213623022
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7765a477ee3ca5e2c6ada1e16c31dfaae2079240 08-Jul-2015 bsalomon <bsalomon@google.com> Makes GrPipelineInfo a class with query functions used by GrBatch subclasses.

Committed: https://skia.googlesource.com/skia/+/f5179a4c490bc787190321bd8ffdb0e6a4efa9ac

Review URL: https://codereview.chromium.org/1213383005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
d07a2793baea42956d27b3ad47ed562f08e4570a 08-Jul-2015 bsalomon <bsalomon@google.com> Revert of Rework GrPipelineInfo (patchset #7 id:120001 of https://codereview.chromium.org/1213383005/)

Reason for revert:
breaking stuff!

Original issue's description:
> Makes GrPipelineInfo a class with query functions used by GrBatch subclasses.
>
> Committed: https://skia.googlesource.com/skia/+/f5179a4c490bc787190321bd8ffdb0e6a4efa9ac

TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1213013003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f5179a4c490bc787190321bd8ffdb0e6a4efa9ac 08-Jul-2015 bsalomon <bsalomon@google.com> Makes GrPipelineInfo a class with query functions used by GrBatch subclasses.

Review URL: https://codereview.chromium.org/1213383005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
86ae0a9e465f157eaa263ef7515e10619946ff83 09-Jun-2015 cdalton <cdalton@nvidia.com> Add mixed samples support to XPs

BUG=skia:

Review URL: https://codereview.chromium.org/1164973002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
edbb31f7ddea834b8e55ea66587ea8d33adc53fa 08-Jun-2015 cdalton <cdalton@nvidia.com> Apply coverage in XP base class when using dst reads

Moves the coverage logic into GrGLXferProcessor for XPs that perform
dst reads. XPs that don't use a dst read are still responsible to
handle coverage on their own.

BUG=skia:

Review URL: https://codereview.chromium.org/1170553002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
1fa4572d1a32e9fbf102d7388efe5e44bef460f1 02-Jun-2015 cdalton <cdalton@nvidia.com> Update XPF invariant info to not account for conflation

Renames getInvariantOutput to getInvariantBlendedColor on GrXPFactory
and redefines it to not account for coverage conflation. This is the
information that all the callsites actually wanted to know.

BUG=skia:

Review URL: https://codereview.chromium.org/1161273005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
6fd158ea47472c4d038e48980a95e36623f840c9 28-May-2015 cdalton <cdalton@nvidia.com> Implement Porter Duff XP with a blend table

Removes the runtime logic used by PorterDuffXferProcessor to decide
blend coeffs and shader outputs, and instead uses a compile-time
constant table of pre-selected blend formulas. Separates out the dst
read fallback into its own XP.

Introduces a new blend strategy for srcCoeff=0 that can apply coverage
with a reverse subtract blend equation instead of dual source
blending.

Adds new macros in GrBlend.h to analyze blend formulas both runtime.

Removes kSetCoverageDrawing_OptFlag and GrSimplifyBlend as they are no
longer used.

Adds a GM that verifies all xfermodes, including arithmetic, with the
color/coverage invariants used by Porter Duff.

Adds a unit test that verifies each Porter Duff formula with every
color/coverage invariant.

Major changes:

* Uses a reverse subtract blend equation for coverage when srcCoeff=0
(clear, dst-out [Sa=1], dst-in, modulate). Platforms that don't
support dual source blending no longer require a dst copy for
dst-in and modulate.

* Sets BlendInfo::fWriteColor to false when the blend does not modify
the dst. GrGLGpu will now use glColorMask instead of blending for
these modes (dst, dst-in [Sa=1], modulate ignored for [Sc=1]).

* Converts all SA blend coeffs to One for opaque inputs, and ISA to
Zero if there is also no coverage. (We keep ISA around when there
is coverage because we use it to tweak alpha for coverage.)

* Abandons solid white optimizations for the sake of simplicity
(screen was the only mode that previous had solid white opts).

Minor differences:

* Inconsequential differences in opt flags (e.g. we now return
kCanTweakAlphaForCoverage_OptFlag even when there is no coverage).

* Src coeffs when the shader outputs 0.

* IS2C vs IS2A when the secondary output is scalar.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/9a70920db22b6309c671f8e5d519bb95570e4414

Review URL: https://codereview.chromium.org/1124373002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
6a44c6a7d89b748fb040d41697a337d357d7fa22 26-May-2015 bsalomon <bsalomon@google.com> Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names.

Committed: https://skia.googlesource.com/skia/+/bb106b5f6ee18f7453b63f3a95f421b60a957f39

Review URL: https://codereview.chromium.org/1132093004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c33db93d1b285923b5deef97ecb04d4d01e05dd5 23-May-2015 bungeman <bungeman@google.com> Revert of Implement Porter Duff XP with a blend table (patchset #12 id:220001 of https://codereview.chromium.org/1124373002/)

Reason for revert:
Blocking DEPS roll into Chromium. Crashing virtual/gpu/fast/canvas/canvas-composite-*.html tests with the assert

../../third_party/skia/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp:281: failed assertion "k110_GrGLSLGeneration != gpu->glslGeneration() || fOutputs.empty()"

Original issue's description:
> Implement Porter Duff XP with a blend table
>
> Removes the runtime logic used by PorterDuffXferProcessor to decide
> blend coeffs and shader outputs, and instead uses a compile-time
> constant table of pre-selected blend formulas.
>
> Introduces a new blend strategy for srcCoeff=0 that can apply coverage
> with a reverse subtract blend equation instead of dual source
> blending.
>
> Adds new macros in GrBlend.h to analyze blend formulas both runtime.
>
> Removes kSetCoverageDrawing_OptFlag and GrSimplifyBlend as they are no
> longer used.
>
> Adds a GM that verifies all xfermodes, including arithmetic, with the
> color/coverage invariants used by Porter Duff.
>
> Adds a unit test that verifies each Porter Duff formula with every
> color/coverage invariant.
>
> Major changes:
>
> * Uses a reverse subtract blend equation for coverage when srcCoeff=0
> (clear, dst-out [Sa=1], dst-in, modulate). Platforms that don't
> support dual source blending no longer require a dst copy for
> dst-in and modulate.
>
> * Sets BlendInfo::fWriteColor to false when the blend does not modify
> the dst. GrGLGpu will now use glColorMask instead of blending for
> these modes (dst, dst-in [Sa=1], modulate ignored for [Sc=1]).
>
> * Converts all SA blend coeffs to One for opaque inputs, and ISA to
> Zero if there is also no coverage. (We keep ISA around when there
> is coverage because we use it to tweak alpha for coverage.)
>
> * Abandons solid white optimizations for the sake of simplicity
> (screen was the only mode that previous had solid white opts).
>
> Minor differences:
>
> * Inconsequential differences in opt flags (e.g. we now return
> kCanTweakAlphaForCoverage_OptFlag even when there is no coverage).
>
> * Src coeffs when the shader outputs 0.
>
> * IS2C vs IS2A when the secondary output is scalar.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9a70920db22b6309c671f8e5d519bb95570e4414

TBR=egdaniel@google.com,bsalomon@google.com,cdalton@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1153993002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c319c80d09c6e9c681041f9e9db7b6bcbae542cc 23-May-2015 bungeman <bungeman@google.com> Revert of Fix LCD coverage regression in GrPorterDuffXPFactory (patchset #3 id:40001 of https://codereview.chromium.org/1149883004/)

Reason for revert:
Reverting this fix to revert https://codereview.chromium.org/1124373002

Original issue's description:
> Fix LCD coverage regression in GrPorterDuffXPFactory
>
> Fixes GrPorterDuffXPFactory to not use the blend table when getting
> info about the LCD coverage XP.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3e2d59ef36e1b9a63e524cf1b27d5f7bcfb5ff0b

TBR=bsalomon@google.com,egdaniel@google.com,cdalton@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1153803005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
d23a395d519835f78630aaea3f2a2c30ecdffe87 23-May-2015 bungeman <bungeman@google.com> Revert of Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names. (patchset #6 id:100001 of https://codereview.chromium.org/1132093004/)

Reason for revert:
This is asserting on GTX660 bots with '!dst'. This may just be catching an existing issue.

https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/622/steps/dm/logs/stdio

https://build.chromium.org/p/client.skia/builders/Test-Win7-MSVC-ShuttleA-GPU-HD2000-x86-Debug-ANGLE/builds/209/steps/dm/logs/stdio

https://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/318/steps/dm/logs/stdio

Original issue's description:
> Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names.
>
> Committed: https://skia.googlesource.com/skia/+/bb106b5f6ee18f7453b63f3a95f421b60a957f39

TBR=egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1158453004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
bb106b5f6ee18f7453b63f3a95f421b60a957f39 22-May-2015 bsalomon <bsalomon@google.com> Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names.

Review URL: https://codereview.chromium.org/1132093004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
3e2d59ef36e1b9a63e524cf1b27d5f7bcfb5ff0b 22-May-2015 cdalton <cdalton@nvidia.com> Fix LCD coverage regression in GrPorterDuffXPFactory

Fixes GrPorterDuffXPFactory to not use the blend table when getting
info about the LCD coverage XP.

BUG=skia:

Review URL: https://codereview.chromium.org/1149883004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
9a70920db22b6309c671f8e5d519bb95570e4414 22-May-2015 cdalton <cdalton@nvidia.com> Implement Porter Duff XP with a blend table

Removes the runtime logic used by PorterDuffXferProcessor to decide
blend coeffs and shader outputs, and instead uses a compile-time
constant table of pre-selected blend formulas.

Introduces a new blend strategy for srcCoeff=0 that can apply coverage
with a reverse subtract blend equation instead of dual source
blending.

Adds new macros in GrBlend.h to analyze blend formulas both runtime.

Removes kSetCoverageDrawing_OptFlag and GrSimplifyBlend as they are no
longer used.

Adds a GM that verifies all xfermodes, including arithmetic, with the
color/coverage invariants used by Porter Duff.

Adds a unit test that verifies each Porter Duff formula with every
color/coverage invariant.

Major changes:

* Uses a reverse subtract blend equation for coverage when srcCoeff=0
(clear, dst-out [Sa=1], dst-in, modulate). Platforms that don't
support dual source blending no longer require a dst copy for
dst-in and modulate.

* Sets BlendInfo::fWriteColor to false when the blend does not modify
the dst. GrGLGpu will now use glColorMask instead of blending for
these modes (dst, dst-in [Sa=1], modulate ignored for [Sc=1]).

* Converts all SA blend coeffs to One for opaque inputs, and ISA to
Zero if there is also no coverage. (We keep ISA around when there
is coverage because we use it to tweak alpha for coverage.)

* Abandons solid white optimizations for the sake of simplicity
(screen was the only mode that previous had solid white opts).

Minor differences:

* Inconsequential differences in opt flags (e.g. we now return
kCanTweakAlphaForCoverage_OptFlag even when there is no coverage).

* Src coeffs when the shader outputs 0.

* IS2C vs IS2A when the secondary output is scalar.

BUG=skia:

Review URL: https://codereview.chromium.org/1124373002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
eb1cb5c5b50febad115d859faca91d2d6af3fff2 22-May-2015 bsalomon <bsalomon@google.com> rename GrDrawTargetCaps.h to GrCaps.h and move to include

Review URL: https://codereview.chromium.org/1135113005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
4b91f768b348aa1cebeb54f3ff9331938734c242 19-May-2015 bsalomon <bsalomon@google.com> rename GrDrawTargetCaps to GrCaps

Review URL: https://codereview.chromium.org/1133123009
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
cc25297364433ad66450faf391e599274ed4bc7d 12-May-2015 egdaniel <egdaniel@google.com> Fix valgrind bug in Porter Duff LCD.

BUG=skia:

Review URL: https://codereview.chromium.org/1135283002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
0d5fd110e0b7ce9b892833d874145a79ca67da8d 12-May-2015 egdaniel <egdaniel@google.com> Make Porter Duff LCD XP its own XferProcessor

BUG=skia:

Review URL: https://codereview.chromium.org/1134093003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c19cdc254cc08f334b00c3b9fdb703818c8ca681 10-May-2015 egdaniel <egdaniel@google.com> Only discard for XP dstCopies if we have a coverage value.

TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1125283005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7dfc27ca42795dd5e9dc779c10b1afda8440d492 08-May-2015 egdaniel <egdaniel@google.com> Remove coverage multiplies when it is known to be fully opaque.

BUG=skia:

Review URL: https://codereview.chromium.org/1132883002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
99bc9fdfb555f1cf8e426329633e735e3020b829 04-May-2015 egdaniel <egdaniel@google.com> Remove canTweakAlphaForCoverage from XP's since batch reads flag.

BUG=skia:

Review URL: https://codereview.chromium.org/1127693002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
29bee0fe657fabf7c396502b69c9167fba13eaaa 29-Apr-2015 egdaniel <egdaniel@google.com> Make XPFragmentBuilder only Builder with access to DstCopy.
Plus a bunch of renaming.

BUG=skia:

Review URL: https://codereview.chromium.org/1110033004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
e9c0fc616d2a1632c285885b9b656b68ca8d4f24 29-Apr-2015 jvanverth <jvanverth@google.com> Pull out shader-specific caps into GrShaderCaps and GrGLSLCaps

BUG=skia:

Review URL: https://codereview.chromium.org/1116713002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
cfc18867d982119d9dc2888bf09f1093012daadd 28-Apr-2015 jvanverth <jvanverth@google.com> Use GLSLCaps for creating processor keys and GLSL-specific programs

Effectively all this does is future-proof any GLSL-specific code, as
GLSLCaps is just a typedef of GLCaps.

BUG=skia:

Review URL: https://codereview.chromium.org/1109863004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f4f2b442228ca188cfb6b44ee3faa86773bb9db3 23-Apr-2015 cdalton <cdalton@nvidia.com> Add onGetBlendInfo to GrXferProcessor

Adds an onGetBlendInfo method for GrXferProcessor subclasses to
override instead of overriding getBlendInfo directly. This gives the
base class a chance to initialize the struct with default values
before passing it on. As the BlendInfo struct grows, this will keep
things simple and less error prone.

BUG=skia:
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1049143002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
3ad6570e94965d54871eaea8b314f560b82ca792 17-Feb-2015 egdaniel <egdaniel@google.com> Use dst copies in porter duffer XP to correctly render certain blends.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/997c6358d94e188b1a7b89a4f86e24cbe0f5a164

Review URL: https://codereview.chromium.org/914003003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
b197b8ff31b73ccb20423023e03592df8ae78ea6 17-Feb-2015 egdaniel <egdaniel@google.com> Use SkXfermode as public facing enum for GrPorterDuffXP

BUG=skia:

Review URL: https://codereview.chromium.org/926593005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
f7c2d558726b8d629e1453b7201a0dd6bfda7b05 13-Feb-2015 egdaniel <egdaniel@google.com> Determine whether we can tweakAlphaForCoverage during Pipeline/XP creation.

BUG=skia:

Review URL: https://codereview.chromium.org/927623002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
2b816bacc0696f03d88c8060b21eda1e5cc7e8b1 13-Feb-2015 egdaniel <egdaniel@google.com> Revert of Use dst copies in porter duffer XP to correctly render certain blends. (patchset #4 id:60001 of https://codereview.chromium.org/914003003/)

Reason for revert:
Failing GLProgramTest passing in stupid coeffs

Original issue's description:
> Use dst copies in porter duffer XP to correctly render certain blends.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/997c6358d94e188b1a7b89a4f86e24cbe0f5a164

TBR=bsalomon@google.com,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/923153003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
997c6358d94e188b1a7b89a4f86e24cbe0f5a164 13-Feb-2015 egdaniel <egdaniel@google.com> Use dst copies in porter duffer XP to correctly render certain blends.

BUG=skia:

Review URL: https://codereview.chromium.org/914003003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
e36914cb205699526988127a827d1a76c9a98d39 13-Feb-2015 egdaniel <egdaniel@google.com> Pass in ProcOptInfos into willNeedDstCopy on XPs

BUG=skia:

Review URL: https://codereview.chromium.org/912413002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
41d4f09356567ead0216e1a7e4110bd58822b81f 09-Feb-2015 egdaniel <egdaniel@google.com> Move GrXferProcessor subclasses into cpp files

BUG=skia:

Review URL: https://codereview.chromium.org/860383007
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
50785a3d10b53bea5beb6e18431a2449860be237 06-Feb-2015 bsalomon <bsalomon@google.com> Revert of Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #1 id:1 of https://codereview.chromium.org/901663007/)

Reason for revert:
The revert didn't help the 10.9 bot. Unreverting by reverting the revert (which is basically relanding the original patch which itself was a revert of a revert). Revert.

Original issue's description:
> Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/)
>
> Reason for revert:
> Testing to see if reverting fixes 10.9 bots.
>
> Original issue's description:
> > Move DstCopy on gpu into the GrXferProcessor.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
> >
> > Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69
>
> TBR=joshualitt@google.com,egdaniel@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/21b2c53218ab25f4268e3992e51d916076a2a7ee

TBR=joshualitt@google.com,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/873723009
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
21b2c53218ab25f4268e3992e51d916076a2a7ee 05-Feb-2015 bsalomon <bsalomon@google.com> Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/)

Reason for revert:
Testing to see if reverting fixes 10.9 bots.

Original issue's description:
> Move DstCopy on gpu into the GrXferProcessor.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
>
> Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69

TBR=joshualitt@google.com,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/901663007
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
5e1378d0e075a323144ba14e0a4cbcca35eccc69 05-Feb-2015 egdaniel <egdaniel@google.com> Move DstCopy on gpu into the GrXferProcessor.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c

Review URL: https://codereview.chromium.org/885923002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
4dce32c46675efb901618161771d450241af4307 04-Feb-2015 egdaniel <egdaniel@google.com> Revert "Move DstCopy on gpu into the GrXferProcessor."

This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd

Review URL: https://codereview.chromium.org/896163003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7adb35559430303a25be37f21af56c0df6c62f2b 04-Feb-2015 egdaniel <egdaniel@google.com> Revert of Revert "Move DstCopy on gpu into the GrXferProcessor." (patchset #1 id:1 of https://codereview.chromium.org/896163003/)

Reason for revert:
failed on my manual revert

Original issue's description:
> Revert "Move DstCopy on gpu into the GrXferProcessor."
>
> This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.
>
> TBR=joshualitt@google.com,bsalomon@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/900913002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd 04-Feb-2015 egdaniel <egdaniel@google.com> Revert "Move DstCopy on gpu into the GrXferProcessor."

This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/896163003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
74a11753604768bf461b80cabb66060e8564d82c 04-Feb-2015 egdaniel <egdaniel@google.com> Move DstCopy on gpu into the GrXferProcessor.

BUG=skia:

Review URL: https://codereview.chromium.org/885923002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
71e236c03e65ff6b48a3d0eb091f814dd3e3a928 20-Jan-2015 egdaniel <egdaniel@google.com> Remove willReadDst from GrFragmentProcessor.

Since only XP's can read dst now, there is no reason to have this query on GrFP.
This also triggered a chain reaction of cleaning up/removing unnecessary code
elsewhere.

BUG=skia:

Review URL: https://codereview.chromium.org/851143003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
72c9faab45124e08c85f70ca38536914862d947c 09-Jan-2015 mtklein <mtklein@chromium.org> Fix up all the easy virtual ... SK_OVERRIDE cases.

This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
080e673b10ac607305f140ddb245e140ccde40c6 22-Dec-2014 egdaniel <egdaniel@google.com> Add XP to handle the cases where we disable color write.

BUG=skia:

Review URL: https://codereview.chromium.org/787233003
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
9e4ecdc9f86724dcce23dc7546e2f295b901407b 18-Dec-2014 egdaniel <egdaniel@google.com> Add an InvariantOutput for the XPF.

The Invariant output holds information about final post blended color and other
general information like will it blend with dst. Having this new struct allowed
me to also remove some functions that were previously querying subsets of the
invariant output.

BUG=skia:

Review URL: https://codereview.chromium.org/814933002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
8750924a1470e8215b2a344155259b93062d3fa2 17-Dec-2014 egdaniel <egdaniel@google.com> Add Coverage Drawing XP

BUG=skia:

Review URL: https://codereview.chromium.org/808813002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
9b98932adaceb7ad0a617ade16616923f6bffe84 15-Dec-2014 joshualitt <joshualitt@chromium.org> This change will ultimately pull uniform color, and to a much lesser degree uniform coverage, into GPs. There are still some loose ends because drawstate has the ability to override the GP, but fixing these cleanly will have to wait until we have deferred geometry in place and can make attribute / uniform decisions on the fly.

BUG=skia:

Review URL: https://codereview.chromium.org/746423007
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
54160f32865e8bbba18c9a1eb6e46711c8233cdf 15-Dec-2014 egdaniel <egdaniel@google.com> Add xp optimization for RGB coverage.

This is needed since clearColorStages is being changed to ignore color input. For RGB coverage,
we want to clear all the color stages (since we know the final output color), but we don't want
to ignore the color input since it is needed.

In future we will change this so the XP stores the color internally and thus can tell the GP to
simiply ignore color.

BUG=skia:

Review URL: https://codereview.chromium.org/791933006
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c230414861558ce20b74281b1ca363e56c441832 11-Dec-2014 egdaniel <egdaniel@google.com> Create xfer processor backend.

This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904

Review URL: https://codereview.chromium.org/764643004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
294738268d3a9317282224f03063eb38ad19717c 11-Dec-2014 joshualitt <joshualitt@google.com> Revert of Create xfer processor backend. (patchset #6 id:100001 of https://codereview.chromium.org/764643004/)

Reason for revert:
CL breaks windows DM

Original issue's description:
> Create xfer processor backend.
>
> This includes:
> -Having an actual XP stage at the end of the gl pipeline.
> -All Blending work is handled by XP until actually setting GL blend states
> -GLPrograms test to test XP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904

TBR=bsalomon@google.com,joshualitt@chromium.org,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/789343002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
06f019fc0f809db993b03d7beb2fd5b4e0c58160 10-Dec-2014 joshualitt <joshualitt@google.com> Revert of Fix to set correct output type when blending when we've read dst (patchset #4 id:60001 of https://codereview.chromium.org/791143002/)

Reason for revert:
Breaks DM on windows

Original issue's description:
> Fix to set correct output type when blending when we've read dst
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/733fc2054044377e914559fa4f46db66ab7d9cea

TBR=bsalomon@google.com,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/795783002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
733fc2054044377e914559fa4f46db66ab7d9cea 10-Dec-2014 egdaniel <egdaniel@google.com> Fix to set correct output type when blending when we've read dst

BUG=skia:

Review URL: https://codereview.chromium.org/791143002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
4dffc940c430eec66d4707490eace19c9b3f7904 10-Dec-2014 egdaniel <egdaniel@google.com> Create xfer processor backend.

This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP

BUG=skia:

Review URL: https://codereview.chromium.org/764643004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
9513143efa734bef0c1a0c7f945022572dbc8518 09-Dec-2014 egdaniel <egdaniel@google.com> Make all blending up to GrOptDrawState be handled by the xp/xp factory.

In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

Review URL: https://codereview.chromium.org/759713002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
8d95ffa497091d0c9c7cda099684c7bca6714a17 08-Dec-2014 egdaniel <egdaniel@google.com> Revert of Make all blending up to GrOptDrawState be handled by the xp/xp factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/)

Reason for revert:
break many gm's

Original issue's description:
> Make all blending up to GrOptDrawState be handled by the xp/xp factory.
>
> In this cl the blending information is extracted for the xp and stored in the ODS
> which is then used as it currently is. In the follow up cl, an XP backend will be added
> and at that point all blending work will take place inside XP's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/766653008
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
7c66342a399b529634bed0fabfaa562db2c0dbd4 08-Dec-2014 egdaniel <egdaniel@google.com> Make all blending up to GrOptDrawState be handled by the xp/xp factory.

In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Review URL: https://codereview.chromium.org/759713002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
915187b71d4068f21a15a1b8f4d919e1179d8b74 05-Dec-2014 egdaniel <egdaniel@google.com> Check XpFactory equality in DrawState

BUG=skia:

Review URL: https://codereview.chromium.org/767873006
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
ced90108b763b1eb3bd7f78b5614d4643b577a24 05-Dec-2014 egdaniel <egdaniel@google.com> Fix include for GrPortderDuffXferProcessor.cpp
TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/771353005
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
eb2a6761654307e8aeeeaabdd63c6bf9ab0411e9 04-Dec-2014 joshualitt <joshualitt@chromium.org> Remove backend factories

BUG=skia:

Review URL: https://codereview.chromium.org/778453002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
c016fb8f9fb53dd8d4936c5e9e16a9dc99ab392e 03-Dec-2014 egdaniel <egdaniel@google.com> Use static XPF for porter duff xp factories.

BUG=skia:

Review URL: https://codereview.chromium.org/776843004
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
378092f3d10b1dd62967f419c35cfefec7c10ee7 03-Dec-2014 egdaniel <egdaniel@google.com> Add XferProcessor factory in GrPaint and GrDrawState.

In this CL the XP should have zero effect on the actual rendering pipeline.

BUG=skia:

Review URL: https://codereview.chromium.org/751283002
/external/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp