dawn-cmake/test/fxc_bugs/vector_assignment_in_loop
Antonio Maiorano b293f51f83 Implement FXC workaround for vector access in loops resulting in failed loop unrolling
When indexing into vectors in a loop, FXC sometimes fails to determine
the max number of iterations when attempting to unroll the loop,
resulting in "error X3511: forced to unroll loop, but unrolling
failed.". We work around this by calling a function that sets the input
value at the input index into an inout vector. This seems to nudge FXC
enough for it to determine the number of loop iterations to unroll.

Bug: tint:534
Change-Id: I52cb209be29fcad8fbb91283c7be8c6e22e00656
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56140
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-06-29 22:07:44 +00:00
..
loop_call_with_loop.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_loop.wgsl.expected.hlsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_loop.wgsl.expected.msl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_loop.wgsl.expected.spvasm Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_loop.wgsl.expected.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_no_loop.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_no_loop.wgsl.expected.hlsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_no_loop.wgsl.expected.msl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_no_loop.wgsl.expected.spvasm Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_call_with_no_loop.wgsl.expected.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_all.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_all.wgsl.expected.hlsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_all.wgsl.expected.msl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_all.wgsl.expected.spvasm Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_all.wgsl.expected.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_repeated.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_repeated.wgsl.expected.hlsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_repeated.wgsl.expected.msl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_repeated.wgsl.expected.spvasm Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_repeated.wgsl.expected.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_some.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_some.wgsl.expected.hlsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_some.wgsl.expected.msl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_some.wgsl.expected.spvasm Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
loop_types_some.wgsl.expected.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
no_loop.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
no_loop.wgsl.expected.hlsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
no_loop.wgsl.expected.msl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
no_loop.wgsl.expected.spvasm Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
no_loop.wgsl.expected.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00