Go to file
Michael Ludwig 0dc6445a46 [graphite] Define SortKey as part of DrawPass impl
Every command that's in a DrawList will produce 1-3 SortKeys (depending
on its type of draw and the number of steps involved). For example a
large non-convex path fill requires a stencil draw for the curves, a
stencil draw of its inner triangles, and a covering draw for shading.

Since the SortKeys are only temporary and can be discarded once the
list has finished being converted into the DrawPass itself, they are
defined in the cpp file. However, I could see exposing them if only so
that the conceptual model is more apparent, since this is a key part
of the new approach in graphite.

Related to the details of the SortKey, the DrawList and SDC APIs have
been updated to reflect the differences in stencil-and-fill path
rendering that needs to be ordered based on both its color-depth
intersections and stencil buffer intersections, and convex filled
paths that don't require stenciling at all.

As a little cleanup, these parameters have been named something to
reflect their semantics even though they stay uint16_t's.

Bug: skia:12466
Change-Id: I02d6361f2889c0a6b341623131e4abda00a11145
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/455216
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-10-04 18:07:22 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Remove ASTNode and SkSLParser 2021-09-28 13:36:49 +00:00
bin [sk] Update asset download references to use SK 2021-09-17 16:55:53 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org Convert internal SkSL to use .eval() 2021-09-03 15:54:54 +00:00
dm [graphite] Add ContextFactory 2021-09-30 18:04:54 +00:00
docker [infra] Update cmake docker image to be Debian 10 2021-07-23 11:21:31 +00:00
docs/examples Reland "Add sRGB 8888 colortype" 2021-08-24 12:56:32 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental [graphite] Define SortKey as part of DrawPass impl 2021-10-04 18:07:22 +00:00
fuzz Add support for function prototypes in Pipeline stage. 2021-09-30 20:02:19 +00:00
gm Rename shaders named input in test code. 2021-09-30 17:24:11 +00:00
gn Reland "Disallow constructors of ES3 types in ES2 code." 2021-10-04 17:51:00 +00:00
include Avoid returning a DSLExpression with an invalid type. 2021-10-04 17:34:49 +00:00
infra Update SKP version 2021-10-03 08:56:23 +00:00
modules [skottie] Fill effect opacity workaround 2021-10-01 16:20:54 +00:00
platform_tools [JetSki] bind drawGlyphs to JetSki for Text rendering 2021-09-22 19:38:13 +00:00
resources Add tests for constructors of private types. 2021-10-04 16:38:19 +00:00
samplecode Move more classes to skgpu::v1 namespace 2021-09-16 14:04:16 +00:00
site pulling the plug 2021-10-02 13:33:49 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Avoid finding a font with simulations 2021-10-04 17:51:24 +00:00
tests Reland "Disallow constructors of ES3 types in ES2 code." 2021-10-04 17:51:00 +00:00
third_party Roll skcms from 9aafe826f922 to a00edc64c486 (1 revision) 2021-09-29 20:26:20 +00:00
tools [graphite] Add support to Mac Viewer. 2021-09-30 21:38:25 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore add mskps/ to .gitignore 2021-07-06 21:04:55 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add trusted service accounts to AUTHORS file 2021-09-29 20:18:40 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Clean up #includes in SkCFObject. 2021-10-04 14:02:02 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll ANGLE from 3de06bcd0c81 to d3764f080f6c (19 revisions) 2021-10-04 05:26:22 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra to update vpython 2021-09-10 17:41:28 +00:00
go.sum [infra] Roll infra to update vpython 2021-09-10 17:41:28 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl Separate SkUnicode bazel source sets 2021-08-09 18:23:15 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Revert "Remove SkRuntimeShader::makeImage." 2021-09-28 13:24:50 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +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.