Go to file
John Stiles daa573eb91 Improve matrix construction abilities in Metal codegen.
GLSL (and thus SkSL) is flexible about the input parameters to a matrix
constructor. You can mix vectors and scalars freely, and it will
populate them into your matrix as if it was a flat list of scalars.

Metal does not natively support this, and requires the proper number of
floatNs to be passed in. However, the Metal code generator will now emit
constructor helper functions that will fix this up automatically.

Additionally, this CL simplifies the Metal codegen for single-scalar
matrix construction. This should create a matrix with the passed-in
scalar running along the matrix diagonal. The Metal codegen previously
emitted a helper function to do this work on our behalf. However,
that's not necessary; Metal already contains a single-argument matrix
constructor that will do this work automatically for us.

Change-Id: I76901bfe167502797aa4cb98d0e8986d9ebc51e5
Bug: skia:10280
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292477
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-05-28 17:03:21 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Move SkParagraph bits into skparagraph directory. 2020-05-28 13:59:18 +00:00
bin roll GN 2020-04-01 17:02:23 +00:00
build/fuchsia Remove FIDL C bindings usages 2020-05-26 16:40:29 +00:00
build_overrides Use Dawn's BUILD.gn instead of defining another one for Skia. 2020-04-13 23:26:31 +00:00
client_utils/android Move SkBitmapRegionCodec into client_utils/android 2020-05-20 20:06:48 +00:00
dm [skottie] Add support for embedded fonts (glyph paths) 2020-05-21 01:27:34 +00:00
docker Support specifying hash and patch_ref in skia-release & skia-wasm-release Dockerfiles 2020-05-06 20:39:04 +00:00
docs/examples SkDrawLooper has not been supported by Skia for a while. Update dox and remove examples 2020-05-27 01:22:06 +00:00
example Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
experimental Upgrade to emscripten 1.39.16 2020-05-21 18:31:21 +00:00
fuzz Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
gm Runtime effect implementation of color cube filter 2020-05-28 15:45:48 +00:00
gn Change D3DAttachmentViewManager to handle all CPU descriptors 2020-05-28 15:34:59 +00:00
include Line-wrap comments to fit the 100-character limit. 2020-05-27 19:38:28 +00:00
infra [infra] Add iOS 13.4 2020-05-27 18:47:38 +00:00
modules Add an msaa flag to CanvasKit viewer 2020-05-28 16:22:18 +00:00
platform_tools Improve selection of target_cpu in android_gdbserver 2020-04-21 19:31:54 +00:00
resources Runtime effect implementation of color cube filter 2020-05-28 15:45:48 +00:00
samplecode Move SkParagraph bits into skparagraph directory. 2020-05-28 13:59:18 +00:00
site Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Improve matrix construction abilities in Metal codegen. 2020-05-28 17:03:21 +00:00
tests Improve matrix construction abilities in Metal codegen. 2020-05-28 17:03:21 +00:00
third_party Roll skcms from da218e6af725 to 5404be4a2703 (1 revision) 2020-05-26 16:19:09 +00:00
tools Add convert-to-nia command-line program 2020-05-28 15:08:08 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore clean up some .gitignores 2019-05-15 19:55:45 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fixing a bug in SkOpEdgeBuilder::walk that causes pathOps to fail when cubic segment is reducable 2020-04-21 16:56:54 +00:00
BUILD.gn Add convert-to-nia command-line program 2020-05-28 15:08:08 +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 5b4c627389a6 to 6a184fe947ed (14 revisions) 2020-05-28 04:52:07 +00:00
go.mod Update Go Deps 2020-05-28 05:30:37 +00:00
go.sum Update Go Deps 2020-05-28 05:30:37 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py PRESUBMIT: Don't check formatting of deleted files 2020-04-08 10:36:09 +00:00
public.bzl [skottie] Cleanup: split animators into separate CUs 2020-03-17 15:48:17 +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 Add submittedProc to GrFlushInfo. 2020-05-27 12:48:43 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +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.