Go to file
John Stiles c809e5ba9f Optimize commutative operations in SkVM.
We now canonicalize commutative operations by ordering their value IDs.
The lower-numbered value ID is always placed first into a commutative
instruction. In other words, this instruction:
   bit_and result, v7, v5

Would be silently converted to this:
   bit_and result, v5, v7

This will allow these two logically-equivalent instructions to be
deduplicated:
   bit_and result, v7, v5
   bit_and result, v5, v7

Of course, deduplicating these ops can unlock additional free CSE/DCE.
The affected instructions are listed in http://review.skia.org/473238

Change-Id: Ib9beb79d6b72d7903184aaa9a53e8e5a02ae126d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/473239
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-11-18 21:27:17 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel [infra] Use Bazel transitions to allow cc_binary to set their own flags 2021-11-18 19:18:54 +00:00
bench make drawMatrix use more explicit 2021-11-18 20:57:32 +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 Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
demos.skia.org [demos] Add WebGPU demo using origin trial 2021-10-08 16:35:34 +00:00
dm Add ShaderType::kSolidColor and make Combinations work w/ PaintParams 2021-11-16 16:31:09 +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] Support wrapped Textures in the backends. 2021-11-17 16:56:04 +00:00
fuzz Make all shader caps uniquely-owned 2021-10-21 20:11:03 +00:00
gm Reland "Remove layer-coverage-tracking experiment" 2021-11-18 19:34:39 +00:00
gn Add test for commutative operations in SkVM. 2021-11-18 21:16:48 +00:00
include Reland "Remove layer-coverage-tracking experiment" 2021-11-18 19:34:39 +00:00
infra Use canary task driver from buildbot repo 2021-11-18 17:45:54 +00:00
modules [infra] Use Bazel transitions to allow cc_binary to set their own flags 2021-11-18 19:18:54 +00:00
platform_tools change method signature for FontChain 2021-10-28 01:57:32 +00:00
resources Add test for commutative operations in SkVM. 2021-11-18 21:16:48 +00:00
samplecode Move breadcrumb and inner-fan triangles out of PathCurveTessellator 2021-11-12 15:26:51 +00:00
site Fix SkSL doc examples that used reserved identifiers 2021-11-05 18:06:46 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Optimize commutative operations in SkVM. 2021-11-18 21:27:17 +00:00
tests Optimize commutative operations in SkVM. 2021-11-18 21:27:17 +00:00
third_party [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
toolchain [infra] Add initial Bazel rules and files 2021-11-09 12:32:25 +00:00
tools [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
.bazelrc [canvaskit] Expand Bazel rules to include Canvas2D compat layer 2021-11-17 13:06:35 +00:00
.bazelversion [infra] Add Bazel rules for codecs. 2021-11-11 20:10:01 +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 .vscode to the default gitignore list. 2021-10-13 15:23:02 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Reland "Enable non-standalone builds with dawn" 2021-11-15 20:52:41 +00:00
BUILD.bazel [canvaskit] Expand Bazel rules to include Canvas2D compat layer 2021-11-17 13:06:35 +00:00
BUILD.gn Implement serialization for SkVMDebugInfo traces. 2021-11-16 15:49:24 +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 SK Tool from 8e6bab5320de to 4f4d765e4e51 2021-11-18 20:30:41 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod Update go/skia.org/infra in go.mod/go.sum 2021-11-18 17:45:54 +00:00
go.sum Update go/skia.org/infra in go.mod/go.sum 2021-11-18 17:45:54 +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 Move ToolUtils::make_big_path() to bench/ 2021-10-14 12:57:29 +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 Limit surfaces/images to 2GB in size 2021-11-15 21:32:43 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +00:00
WORKSPACE.bazel [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +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.