Go to file
Michael Ludwig 4f94ef6cbd Reland "Base Gradient FP Refactor"
This reverts commit 1ea5656a28.

Reason for revert: Fixed google3 build failure

Original change's description:
> Revert "Base Gradient FP Refactor"
> 
> This reverts commit 10f7a1e075.
> 
> Reason for revert: broke google3 roll
> Original change's description:
> > Base Gradient FP Refactor
> > 
> > --
> > 
> > Redefines how gradients will be written in the GPU back-end:
> > 
> > They are split into three fragment processor components: master, layout, and colorizer.
> > The layout FP is responsible for converting the fragment position into an interpolant value, t.
> > Each high-level gradient--such as linear, radial, etc.--are implemented solely in a layout FP.
> > The colorizer FP is responsible for converting t into a color.
> > The master FP invokes the layout, clamps t into the proper domain, and then invokes the colorizer.
> > GrGradientShader provides factory functions to create FP graphs from SkGradientShader instances.
> > This pattern is documented in gpu/gradients/README.md.
> > 
> > Goals for current CL
> > ====================
> > 
> > Outline the FP components by providing .fp implementations for the simplest gradients.
> > Defines a two-color single interval colorizer and a linear gradient layout, and the master effect.
> > A MakeLinear() factory function is provided that can convert SkGradientShaders that fit these constraints.
> > SkLinearGradient first attempts to use the new system, falling back to the original GrGradientEffect.
> > 
> > Future CLs
> > ==========
> > 
> > To keep the CL reviews manageable, additional dependent CLs will be added that gradually replace past functionality.
> > A CL for each layout will be defined.
> > CLs for the different analytic colorizer cases and the textured gradient case will be defined.
> > Once the new system supports all current layouts and colorizer capabilities, all old GPU gradient code will be removed.
> > After this clean-up, analytic colorization can hopefully be expanded to reduce the usage of textured gradients.
> > 
> > Bug: skia:
> > Change-Id: Iafe7b8b4071491a71c473babcd7bedda659150c1
> > Reviewed-on: https://skia-review.googlesource.com/148120
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,michaelludwig@google.com
> 
> Change-Id: Ib735e323795ac8874cb00b007a915786b50517a6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/153600
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Cary Clark <caryclark@google.com>

TBR=bsalomon@google.com,caryclark@google.com,michaelludwig@google.com

Change-Id: Ibf6ffbcb1af0dfbdac7317151aeb08f18f84c7fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/153887
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2018-09-12 20:20:32 +00:00
animations
bench Revert "SkStream: remove some WStream functions from public api" 2018-09-06 12:22:41 +00:00
bin Add script to pull svgs to svgs/ and add to .gitignore 2018-08-31 20:02:24 +00:00
dm Revert "makeSurface defaults to raster" 2018-09-05 18:41:45 +00:00
docker Fix container builder command line. 2018-09-12 18:44:59 +00:00
docs SkPath::shrinkToFit docs 2018-09-11 20:43:22 +00:00
example Compile with GCC 7.2.0. 2018-03-13 22:18:18 +00:00
experimental [PathKit] Move from experimental to modules 2018-08-31 14:18:16 +00:00
fuzz Expand SkPath fuzzer 2018-09-12 17:25:25 +00:00
gm revise p3 GM 2018-09-12 17:56:54 +00:00
gn Reland "Base Gradient FP Refactor" 2018-09-12 20:20:32 +00:00
include Improved SkPath packing 2018-09-12 19:39:40 +00:00
infra [infra] Update recipe deps, fix usage of bot_update 2018-09-12 18:58:29 +00:00
modules [sksg] Trim down sksg::Matrix size 2018-09-12 15:28:18 +00:00
platform_tools [skottie] Plumb external SkFontMgr 2018-08-23 13:13:30 +00:00
resources Reland "Switch SkCodec to use skcms plus fixes"" 2018-08-27 16:16:14 +00:00
samplecode Revert "makeSurface defaults to raster" 2018-09-05 18:41:45 +00:00
site change language for pathkit 2018-09-12 13:40:34 +00:00
src Reland "Base Gradient FP Refactor" 2018-09-12 20:20:32 +00:00
tests Remove raw-data version of createTextureProxy 2018-09-12 15:00:46 +00:00
third_party Roll skia/third_party/skcms 54b6cee88c40..52df767ea52b (1 commits) 2018-09-07 15:47:36 +00:00
tools Simplify plots to always be 512x512 and simplify GrDrawOpAtlasConfig 2018-09-10 21:57:16 +00:00
.clang-format Update .clang-format to handle Objective-C files 2018-07-27 21:33:30 +00:00
.gitignore Add script to pull svgs to svgs/ and add to .gitignore 2018-08-31 20:02:24 +00:00
.gn
AUTHORS Fixed SkVertices crashing on Windows DLL builds 2018-04-22 14:42:01 +00:00
BUILD.gn [skottie] Enable skotte_tool on Mac builds 2018-09-02 16:54:52 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll third_party/externals/swiftshader fe79649598fb..d7a21ccd41ce (1 commits) 2018-09-12 19:58:28 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py Add new autoroll service accounts to AUTHORS check bypass 2018-09-07 18:49:23 +00:00
public.bzl Reland "Base Gradient FP Refactor" 2018-09-12 20:20:32 +00:00
README
README.chromium
whitespace.txt Whitespace change to trigger flutter roller 2018-06-22 01:18:46 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.