Go to file
Brian Osman 50ea3c06b8 Add support for MSVC run-time checks (and control flow guard)
This enables four different options in the compiler, described
below. I also added enough masks to satisfy RTCc when running
all GMs in both 8888 and gl configs.

---

/RTCc - Detects when a value is assigned to a smaller data
type and results in data loss. This happens even when casting.
Masking is required to suppress this.

/RTCs - Various stack-related checks, including uninitialized
data (by initializing locals to a non-zero value), array bounds
checking, and stack pointer corruption that can occur with a
calling convention mismatch.

/RTCu - Reports when a variable is used without having been
initialized. Mostly redundant with compile-time checks.

/guard:cf - This is more of a security option, that computes
all possible targets for indirect calls at compile time, and
verifies that those are the only targets reached at compile
time. Also generates similar logic around switch statements
that turn into jump tables.

Bug: skia:
Change-Id: I7b527af8fd67dec0b6556f38bcd0efc3fd505856
Reviewed-on: https://skia-review.googlesource.com/c/188625
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-02-04 20:55:24 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Benchmark for charToGlyph 2019-02-04 18:03:52 +00:00
bin bin/sysopen: script moved to bin 2018-12-06 14:21:33 +00:00
dm Add option to skip intermediate release/fulfill calls for promise images. 2019-01-31 16:24:52 +00:00
docker CMake: distinguish between file and dir copies by presence of '.' in src path 2019-02-01 18:58:46 +00:00
docs remove docs for containsText 2019-02-01 16:54:27 +00:00
example drawText Cleanup, part 5 2019-01-09 16:10:30 +00:00
experimental [canvaskit] Add SkShaper to build list 2019-01-23 17:04:11 +00:00
fuzz Converting more debug code to SkJSONWriter 2019-01-28 19:06:06 +00:00
gm Add a central skiagm::GM::DrawFailureMessage for error messages 2019-02-04 17:49:42 +00:00
gn Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
include Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
infra Roll recipe dependencies (trivial). 2019-02-04 20:30:32 +00:00
modules Add a central skiagm::GM::DrawFailureMessage for error messages 2019-02-04 17:49:42 +00:00
platform_tools Add support for Windows to the gradle builds 2019-01-08 20:01:29 +00:00
resources [skottie] Add a custom property manager util class 2018-11-28 17:12:07 +00:00
samplecode Remove NoPendingIO flags from buffer creations. 2019-02-03 16:59:43 +00:00
site Update tracing docs slightly 2019-01-31 19:10:53 +00:00
src Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
tests Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
third_party Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
tools Add hardware buffer unit test from old skqp to skia. 2019-01-31 17:44:52 +00:00
.clang-format .clang-format: Don't force break after > in template declarations 2018-12-21 14:20:57 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore Add script to pull svgs to svgs/ and add to .gitignore 2018-08-31 20:02:24 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Update BUILDCONFIG.gn to support Visual Studio 2017 Enterprise 2019-01-09 14:27:34 +00:00
BUILD.gn Do not build SkGifCodec when building SkWuffsCodec 2019-01-29 15:55:57 +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 third_party/externals/swiftshader 3f5a479280cc..612345523a8d (2 commits) 2019-02-04 18:47:12 +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 [presubmit] Remove pylint check 2019-01-14 13:47:51 +00:00
public.bzl [skshaper] Export "primitive" sources in public.bzl 2019-01-21 17:29:33 +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
whitespace.txt [infra] Marker for IntelBayTrail BIOS update. 2018-09-17 16:47: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.