skia2/infra
John Stiles 3934647d22 Reland "Implement operator== and != for Metal structs and arrays."
This is a reland of 830c69ca66

Original change's description:
> Implement operator== and != for Metal structs and arrays.
>
> GLSL/SkSL assumes that == and != on struct/array types should work.
> We need to emit equality and inequality operators whenever we find code
> that compares a struct or array.
>
> Structs and arrays can be arbitrarily nested, and either type can
> contain a matrix. All of these things need custom equality operators in
> Metal. Therefore, we need to recursively generate comparison operators
> when any of these types are encountered.
>
> For arrays we get lucky, and we can cover all possible array types and
> sizes with a single templated operator== method. Structs and matrices
> have no such luck, and are generated separately on a per-type basis.
>
> For each of these types, operator== is implemented as an equality check
> on each field, and operator!= is implemented in terms of operator==.
> Equality and inequality are always emitted together. (Previously, matrix
> equality and inequality were emitted and implemented independently, but
> this is no longer the case.)
>
> Change-Id: I69ee01c0a390d7db6bcb2253ed6336ab20cc4d1d
> Bug: skia:11908, skia:11924
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402016
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:11908, skia:11924, skia:11929
Change-Id: I6336b6125e9774c1ca73e3d497e3466f11f6f25f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402559
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-29 22:55:58 +00:00
..
bots Reland "Implement operator== and != for Metal structs and arrays." 2021-04-29 22:55:58 +00:00
canvaskit [canvaskit] Remove unreliable perf jobs. 2021-03-08 14:48:35 +00:00
cmake [infra] Change CMake build to use a temporary directory 2020-01-14 11:41:55 +00:00
config [infra] Update recipe deps 2021-04-20 19:49:56 +00:00
cross-compile/docker/cross-linux-arm64
docker [infra] Add Debian9 docker image. 2020-04-14 12:47:14 +00:00
gcc remove support for mips64el/loongson3a 2020-05-19 19:22:49 +00:00
lottiecap [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
pathkit [canvaskit] Update Chrome version and use npm ci for tests 2020-12-14 15:03:42 +00:00
project-config
skqp Update skqp's Android NDK to r20 2019-07-03 20:45:24 +00:00
wasm-common [gold] Update data produced by canvaskit and pathkit 2021-03-31 21:26:27 +00:00
README.md

This directory contains infra-specific files. The branch-config/ directory contains configs that are specific to the master branch (e.g. config for the CQ committing to the master branch), while project-config/ directory contains project-wide configuration (e.g. list of buckets for cr-buildbucket service and list of refs known to the infra services).