dawn-cmake/test
Ben Clayton ea3eee9885 resolver: Migrate validation to behavior analysis
Migrate some of the validation logic over to use the results of behavior
analysis.

The most significant changes are:
* Unreachable-statements now consider merge-points of control flow. For
  example, if all branches of a if-statement or switch-statement either
  return or discard, the next statement will be considered unreachable.
* Unreachable statements are no longer an error, but a warning. See
  https://github.com/gpuweb/gpuweb/issues/2378.
* Statements that follow a loops that does not break, or have a
  conditional will now be considered unreachable.
* Unreachable statements produced by the SPIR-V reader are now removed
  using the new RemoveUnreachableStatements transform.

Some other new changes include additional validation for the continuing
block for for-loops, to match the rules of a loop continuing block.
The new cases this validation is testing for are not expressible in
WGSL, but some transforms may produce complex continuing statements that
might violate these rules. All the writers are able to decay these
complex for-loop continuing statements to regular loops.

Bug: tint:1302
Change-Id: I0d8a48c73d5d5c30a1cddf92cc3383a692a58e61
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/71500
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-12-03 17:51:48 +00:00
..
access GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
array Reland "HLSL: force FXC to never unroll loops" 2021-11-25 18:44:50 +00:00
buffer Reland "HLSL: force FXC to never unroll loops" 2021-11-25 18:44:50 +00:00
bug test: Regenerated expected HLSL file 2021-11-26 15:28:49 +00:00
expressions GLSL: implement inf, nan. 2021-11-18 13:11:43 +00:00
identifiers/underscore IntrinsicTable: remove double underscores 2021-11-22 15:24:16 +00:00
intrinsics intrinsics: Deprecate isNan, isInf, isFinite, isNormal 2021-11-23 18:57:57 +00:00
layout/storage/mat2x2 Reland "HLSL: force FXC to never unroll loops" 2021-11-25 18:44:50 +00:00
let GLSL: implement atomics. 2021-11-19 17:46:13 +00:00
loops resolver: Migrate validation to behavior analysis 2021-12-03 17:51:48 +00:00
matrix/constructor/elements GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
ptr_ref GLSL: implement atomics. 2021-11-19 17:46:13 +00:00
samples Reland "HLSL: force FXC to never unroll loops" 2021-11-25 18:44:50 +00:00
shader_io GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
shadowing resolver: Support shadowing 2021-11-23 20:45:51 +00:00
statements resolver: Migrate validation to behavior analysis 2021-12-03 17:51:48 +00:00
struct GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
types GLSL: fix single-valued vector init. 2021-11-22 16:14:16 +00:00
unittest/reader/spirv Add more SPIR-V reader unit test samples 2021-09-27 20:55:53 +00:00
var Reland "HLSL: force FXC to never unroll loops" 2021-11-25 18:44:50 +00:00
vk-gl-cts resolver: Migrate validation to behavior analysis 2021-12-03 17:51:48 +00:00
BUILD.gn resolver: Migrate validation to behavior analysis 2021-12-03 17:51:48 +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