dawn-cmake/test
Ben Clayton 6c0df44211 Castable: Optimizations using bloomfilters
Calculate a hashcode for each TypeInfo, use these hashcodes to quickly
eliminate full base class walks for As() and Is(). Use the hashcodes to
optimize IsAnyOf() calls where the result is false.

Benchmarks:

A: base.bench
B: new.bench

Test name                             | Δ (A → B)    | % (A → B)
--------------------------------------+--------------+-----------
ParseWGSL/"particles.wgsl"            | -78.84µs     | -3.2%
GenerateWGSL/"particles.wgsl"         | -11.264µs    | -5.8%
GenerateGLSL/"particles.wgsl"         | -2.610127ms  | -7.2%
GenerateMSL/"simple_compute.wgsl"     | -41.187µs    | -7.2%
GenerateMSL/"particles.wgsl"          | -818.689µs   | -7.2%
GenerateGLSL/"simple_compute.wgsl"    | -48.362µs    | -7.4%
GenerateGLSL/"simple_vertex.wgsl"     | -49.992µs    | -7.7%
GenerateSPIRV/"simple_compute.wgsl"   | -42.869µs    | -7.8%
GenerateSPIRV/"particles.wgsl"        | -835.423µs   | -7.9%
GenerateSPIRV/"simple_fragment.wgsl"  | -33.868µs    | -8.1%
GenerateGLSL/"simple_fragment.wgsl"   | -51.368µs    | -8.2%
GenerateSPIRV/"simple_vertex.wgsl"    | -39.096µs    | -8.3%
GenerateHLSL/"particles.wgsl"         | -1.437747ms  | -8.3%
GenerateMSL/"simple_vertex.wgsl"      | -57.232µs    | -8.5%
GenerateHLSL/"simple_compute.wgsl"    | -85.981µs    | -8.9%
GenerateHLSL/"simple_fragment.wgsl"   | -73.095µs    | -9.2%
GenerateMSL/"simple_fragment.wgsl"    | -61.257µs    | -9.3%
GenerateHLSL/"simple_vertex.wgsl"     | -76.661µs    | -9.4%

Change-Id: Idb03bf871b08274b5b52ef55e41450ed3448a60f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/76960
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
2022-01-24 21:07:20 +00:00
..
access wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
array GLSL samples: add empty entry point if needed. 2022-01-21 18:40:18 +00:00
benchmark test-runner: Add test/benchmark to excluded dirs 2022-01-24 15:49:40 +00:00
buffer GLSL samples: add empty entry point if needed. 2022-01-21 18:40:18 +00:00
bug GLSL: implement CombineSamplers transform (string version). 2022-01-24 17:17:22 +00:00
expressions GLSL samples: add empty entry point if needed. 2022-01-21 18:40:18 +00:00
identifiers/underscore GLSL samples: add empty entry point if needed. 2022-01-21 18:40:18 +00:00
intrinsics GLSL: implement CombineSamplers transform (string version). 2022-01-24 17:17:22 +00:00
layout/storage/mat2x2 wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
let wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
loops GLSL samples: add empty entry point if needed. 2022-01-21 18:40:18 +00:00
ptr_ref wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
samples wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
shader_io wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
shadowing GLSL samples: add empty entry point if needed. 2022-01-21 18:40:18 +00:00
statements GLSL samples: add empty entry point if needed. 2022-01-21 18:40:18 +00:00
struct wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
types GLSL: implement CombineSamplers transform (string version). 2022-01-24 17:17:22 +00:00
unittest/reader/spirv wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
var wgsl: Replace [[decoration]] with @decoration 2022-01-19 22:46:57 +00:00
vk-gl-cts Remove passing HLSL expected files for vk-gl-cts 2022-01-20 22:11:07 +00:00
BUILD.gn Castable: Optimizations using bloomfilters 2022-01-24 21:07:20 +00:00
extract-spvasm.py Add --dump-spirv option to tint_unittests 2021-05-05 09:46:31 +00:00
test-all.sh main: Replace --dawn-validation with --validate 2021-06-02 21:02:34 +00:00