skia2/include
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
..
android add saveBehind to canvas 2018-12-19 14:44:09 +00:00
atlastext pass a font to GlyphRunBuilder 2019-01-02 21:02:33 +00:00
c expand imageinfo in C api, start on colorspace 2018-09-28 17:52:59 +00:00
codec Fix uninitialized bug in SkWuffsCodec for incomplete images 2018-12-05 18:27:28 +00:00
config remove unused parts of SkTypes.h 2018-06-08 23:53:57 +00:00
core templatize drawString 2019-02-04 18:18:22 +00:00
docs SkPDF: clean up public header 2019-01-02 15:55:33 +00:00
effects Add SkBlurDrawLooper::Make(SkColor4f, SkColorSpace) 2019-01-12 08:46:04 +00:00
encode Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
gpu Move GrContextOptions to GrContext_Base and make GrContextThreadSafeProxy be derived from GrContext_Base 2019-02-04 18:08:57 +00:00
pathops fixup winding contours 2018-08-17 14:01:51 +00:00
ports Reland "Add SkFontMgr implementation for Fuchsia" 2018-12-07 01:47:05 +00:00
private Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
svg Add a SkWStream-based SkSVGCanvas factory 2017-09-19 20:33:19 +00:00
third_party/vulkan Move vulkan headers from third_party to include/third_party. 2018-12-12 14:16:43 +00:00
utils Add new experimental API for rectangles with per-edge AA control 2019-01-23 16:45:01 +00:00