dawn-cmake/test/tint
Antonio Maiorano b6e1bc7d5d tint: Fix C++ UB when shifting abstract 0 left by >= 64
In WGSL, we can shift left abstracts by >= 64, as long as the result is
representable in the data type we choose for it. When shifting 0, we can
shift by any positive u32 value (result is always 0), but in C++, it's
UB to shift by more than the bit width of the data type, so we need to
handle this. This bug was caught by ClusterFuzz.

Bug: chromium:1372963
Change-Id: I638ca190b93538908ca6472f3735627ea8531c5a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/106266
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-10-18 20:17:55 +00:00
..
access tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
array Rename StorageClass to AddressSpace. 2022-10-03 14:05:23 +00:00
benchmark tint: Make uniformity analysis failures a hard error 2022-09-26 12:30:05 +00:00
buffer tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
bug tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
builtins tint/resolver: Allow texture 'offset' to be const-expr 2022-10-13 17:06:29 +00:00
const tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
expressions [msl] Handle packed conversions in shift expressions. 2022-10-13 15:28:51 +00:00
extensions/parsing wgsl: Print abstract-floats with full precision. 2022-10-12 19:13:38 +00:00
identifiers/underscore tint: remove LoopToForLoop and FoldTrivialSingleUseLets transforms for HLSL and GLSL 2022-09-19 14:05:21 +00:00
layout/storage/mat2x2 tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
let/inferred When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
loops tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
out_of_order_decls When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
ptr_ref tint: remove LoopToForLoop and FoldTrivialSingleUseLets transforms for HLSL and GLSL 2022-09-19 14:05:21 +00:00
samples wgsl: Print abstract-floats with full precision. 2022-10-12 19:13:38 +00:00
shader_io wgsl: Print abstract-floats with full precision. 2022-10-12 19:13:38 +00:00
shadowing tint: remove LoopToForLoop and FoldTrivialSingleUseLets transforms for HLSL and GLSL 2022-09-19 14:05:21 +00:00
statements [msl] Handle packed conversions in shift expressions. 2022-10-13 15:28:51 +00:00
struct When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
types When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
unicode tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
unittest/reader/spirv tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
var Rename StorageClass to AddressSpace. 2022-10-03 14:05:23 +00:00
vk-gl-cts tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
extract-spvasm.py tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
parse_hlsl_errors.py tint: add parse_hlsl_errors.py to help triage hlsl errors 2022-10-04 19:48:41 +00:00
test-all.sh tools: Replace copy-pasta scripts 2022-04-07 18:26:45 +00:00