Go to file
Brian Osman 268ed57d71 Revert "Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API."
This reverts commit 98bfcc7ff3.

Reason for revert: Flutter hitting assert:
../../third_party/skia/src/core/SkCanvas.cpp:1432: fatal error: "assert(fIsScaleTranslate == fMCRec->fMatrix.isScaleTranslate())"

Original change's description:
> Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API.
> 
> Devices receive the 4x4, but by default they simply downsample it to SkMatrix.
> 
> New SkM44 matrix for the impl. It differs from SkMatrix44 in a few ways
> - no tracking of "type"
> - faster for concat, as it does not use doubles for intermediates
> - much simpler API
> 
> There are some low-bit differences in some gms, so adding a flag for clients to
> stage this change. (due to faster but lower-precision in SkM44::concat)
> 
> Performance: running canvas_matrix bench
> 
> 3x3 version:
> 
>     167.93  	canvas_matrix_3x3	8888
>     209.97  	canvas_matrix_2x3	8888
>     174.87  	canvas_matrix_scale	8888
>     135.30  	canvas_matrix_trans	8888
> 
> 4x4 version:
> 
>     116.59  	canvas_matrix_3x3	8888
>     105.40  	canvas_matrix_2x3	8888
>     159.83 ?	canvas_matrix_scale	8888
>     113.47  	canvas_matrix_trans	8888
> 
> Why faster?
> - not tracking matrix_type helps a lot it seems
> - faster full concat (no doubles)
> 
> Before adding the specialized preConcats...
> 
>     318.11 ?	canvas_matrix_3x3	8888
>     339.38  	canvas_matrix_2x3	8888
>     383.28  	canvas_matrix_scale	8888
>     251.67  	canvas_matrix_trans	8888
> 
> Change-Id: I68eac942919fa5418081e789f31710a1e2a752da
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/262056
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@google.com,bsalomon@google.com,herb@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,michaelludwig@google.com

Change-Id: I28c3d69c19ba44ab65ca7c059221b64c7dffef22
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263021
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-08 14:28:11 +00:00
animations
bench Revert "Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API." 2020-01-08 14:28:11 +00:00
bin [infra] Fix bin/try 2019-11-15 19:44:04 +00:00
build/fuchsia Add logger service. 2020-01-04 02:27:14 +00:00
build_overrides Update Dawn backend to ToT. This is about 3 months of changes. 2019-10-15 22:26:38 +00:00
dm Remove an uncessary and unused parameter for partially generating the JSON command list 2019-12-13 19:30:03 +00:00
docker Make OUTPUT_DIRECTORY in ProdDoxyfile configurable 2019-12-18 16:46:25 +00:00
docs/examples Remove SkIRect::EmptyIRect 2020-01-06 20:57:56 +00:00
example Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
experimental Support using an externally manage list of images in UrlDataManager for wasm debugger. 2020-01-03 21:25:12 +00:00
fuzz Make it safe to include SkRuntimeEffect.h from client code 2019-12-30 21:06:56 +00:00
gm Revert "Move makeDeferredRenderTargetContext calls to factory on RTC." 2020-01-08 13:31:21 +00:00
gn Revert "Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API." 2020-01-08 14:28:11 +00:00
include Revert "Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API." 2020-01-08 14:28:11 +00:00
infra [recipes] Remove unnecessary depot_tools dependency in flavor module 2020-01-08 12:46:21 +00:00
modules [canvaskit] Remove support for T1 fonts and reduce code size 2020-01-06 18:49:41 +00:00
platform_tools Revert "GrGLMakeNativeInterface_{iOS,mac,win}: clean up" 2019-12-27 17:38:53 +00:00
resources upgrade debugging tools 2020-01-07 18:26:22 +00:00
samplecode Revert "Move makeDeferredRenderTargetContext calls to factory on RTC." 2020-01-08 13:31:21 +00:00
site Update remote access documentation for Win2019 2020-01-07 18:55:57 +00:00
specs [img-decode] Start on proposed new spec 2019-05-06 17:39:19 +00:00
src Revert "Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API." 2020-01-08 14:28:11 +00:00
tests Revert "Extend SkCanvas matrix stack to be 4x4, but with (basically) the same public API." 2020-01-08 14:28:11 +00:00
third_party [canvaskit] Remove support for T1 fonts and reduce code size 2020-01-06 18:49:41 +00:00
tools Add a path renderer that uses GPU tessellation 2020-01-07 20:00:22 +00:00
.clang-format restore .clang-format 2019-03-21 15:52:32 +00:00
.clang-tidy
.gitignore clean up some .gitignores 2019-05-15 19:55:45 +00:00
.gn
AUTHORS Optimize SkSL xor where one argument is constant 2019-12-20 14:50:46 +00:00
BUILD.gn [canvaskit] Update compile.sh with initial code size findings 2020-01-02 14:05:45 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll ../src 55a27186b7de..61f03e9a10c0 (434 commits) 2020-01-08 04:44:46 +00:00
go.mod [infra] Use "mod download" and "install", not "get" in chrome_release_branch 2019-12-06 11:16:41 +00:00
go.sum [infra] Use "mod download" and "install", not "get" in chrome_release_branch 2019-12-06 11:16:41 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS
PRESUBMIT.py Use urllib_request instead of urllib2 in PRESUBMIT. 2019-10-22 20:30:56 +00:00
public.bzl public.bzl: add SKOTTIE_IOS_LIB_SDK_FRAMEWORKS 2020-01-07 18:19:22 +00:00
README
README.chromium
RELEASE_NOTES.txt Remove SkIRect::EmptyIRect 2020-01-06 20:57:56 +00:00
whitespace.txt Whitespace test 2019-05-18 13:05:29 +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.