dawn-cmake/test/intrinsics/arrayLength
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
..
complex_via_let.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
complex_via_let.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
complex_via_let.wgsl.expected.msl msl: Add ArrayLengthFromUniform transform 2021-06-19 00:33:35 +00:00
complex_via_let.wgsl.expected.spvasm Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
complex_via_let.wgsl.expected.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
deprecated.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
deprecated.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
deprecated.wgsl.expected.msl msl: Add ArrayLengthFromUniform transform 2021-06-19 00:33:35 +00:00
deprecated.wgsl.expected.spvasm Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
deprecated.wgsl.expected.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
simple.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
simple.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
simple.wgsl.expected.msl msl: Add ArrayLengthFromUniform transform 2021-06-19 00:33:35 +00:00
simple.wgsl.expected.spvasm Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
simple.wgsl.expected.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
via_let.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
via_let.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
via_let.wgsl.expected.msl msl: Add ArrayLengthFromUniform transform 2021-06-19 00:33:35 +00:00
via_let.wgsl.expected.spvasm Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
via_let.wgsl.expected.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
via_let_complex.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
via_let_complex.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
via_let_complex.wgsl.expected.msl msl: Add ArrayLengthFromUniform transform 2021-06-19 00:33:35 +00:00
via_let_complex.wgsl.expected.spvasm Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00
via_let_complex.wgsl.expected.wgsl Add arrayLength() intrinsic that accepts a pointer argument 2021-06-10 18:43:04 +00:00