dawn-cmake/test/intrinsics
James Price 960aa2ee75 msl: Add ArrayLengthFromUniform transform
Generate a uniform buffer that will receive the lengths of all storage
buffers, and use this to implement calls to arrayLength(). The
transform is provided with a set of mappings from storage buffer
binding points to the corresponding index into the array of buffer
lengths. The transform reports whether it generated the uniform
buffers or not.

Use this transform from the MSL sanitizer, using the binding number as
the index into the array. This matches the behavior of spirv-cross,
and so works with how Dawn already produces this uniform buffer.

Bug: tint:256
Change-Id: I2682d2d024e8daa30f78270b8cfb6bbb32632133
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54480
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-06-19 00:33:35 +00:00
..
arrayLength msl: Add ArrayLengthFromUniform transform 2021-06-19 00:33:35 +00:00
gen sanitizers: Use the ZeroInitWorkgroupMemory transform 2021-06-18 22:44:31 +00:00
frexp.wgsl Implement Pointers and References 2021-05-18 10:28:48 +00:00
frexp.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
frexp.wgsl.expected.msl Implement Pointers and References 2021-05-18 10:28:48 +00:00
frexp.wgsl.expected.spvasm Implement Pointers and References 2021-05-18 10:28:48 +00:00
frexp.wgsl.expected.wgsl Implement Pointers and References 2021-05-18 10:28:48 +00:00
ignore.wgsl Implement ignore() intrinsic 2021-06-09 08:30:57 +00:00
ignore.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
ignore.wgsl.expected.msl Implement ignore() intrinsic 2021-06-09 08:30:57 +00:00
ignore.wgsl.expected.spvasm Implement ignore() intrinsic 2021-06-09 08:30:57 +00:00
ignore.wgsl.expected.wgsl Implement ignore() intrinsic 2021-06-09 08:30:57 +00:00
intrinsics.wgsl.tmpl test: Generate more permutations for pointers 2021-06-18 18:56:13 +00:00
modf.wgsl Implement Pointers and References 2021-05-18 10:28:48 +00:00
modf.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
modf.wgsl.expected.msl Implement Pointers and References 2021-05-18 10:28:48 +00:00
modf.wgsl.expected.spvasm Implement Pointers and References 2021-05-18 10:28:48 +00:00
modf.wgsl.expected.wgsl Implement Pointers and References 2021-05-18 10:28:48 +00:00