dawn-cmake/test/tint
Ben Clayton 2f9a98870e tint: Implement sem::Load
The resolver now wraps sem::Expression objects with a sem::Load object
anywhere that the load rule is invoked. sem::Expression provides an
`UnwrapLoad()` method that returns the inner expression (or
passthrough, if no load is present), which is analaguous to
Type::UnwrapRef().

The logic for alias analysis in `RegisterLoadIfNeeded` has been folded
into the new `Resolver::Load` method.

Fixed up many transforms and tests. The only difference in output is
for a single SPIR-V backend test, where some IDs have changed due to
slight re-ordering of when expressions are generated.

There may be further clean-ups possible (e.g. removing unnecessary
calls to `UnwrapRef`, and simplifying places in the SPIR-V writer or
transforms that deal with memory accesses), but these can be addressed
in future patches.

Fixed: tint:1654
Change-Id: I69adecfe9251faae46546b64d0cdc29eea26cd4e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/99706
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-12-17 02:20:04 +00:00
..
access tint: Implement sem::Load 2022-12-17 02:20:04 +00:00
array tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
benchmark Update GLSL test results. 2022-12-15 16:42:28 +00:00
buffer tint: Add PreservePadding transform 2022-12-06 18:32:19 +00:00
bug Implement External Texture Crop Functionality 2022-12-16 05:41:06 +00:00
builtins tint: const eval of ldexp builtin 2022-12-16 18:37:19 +00:00
const tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
expressions tint: const eval of logical AND and OR 2022-12-07 13:29:58 +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: Add PreservePadding transform 2022-12-06 18:32:19 +00:00
let/inferred When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
loops tint: Use MergeReturn transform in SPIR-V backend 2022-10-31 15:41:41 +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: Add DirectVariableAccess transform 2022-12-01 18:49:09 +00:00
samples Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
shader_io test/tint: Update expectations 2022-12-07 18:04:59 +00:00
shadowing tint: Fix Renamer transform with type short-names 2022-12-08 20:45:54 +00:00
statements tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
struct tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
types tint: Fix Renamer transform with type short-names 2022-12-08 20:45:54 +00:00
unicode tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
unittest/reader/spirv tint: make const eval of binary ops on concrete values fail on NaN/Inf 2022-11-18 05:45:17 +00:00
var tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
vk-gl-cts tint: const eval of ldexp builtin 2022-12-16 18:37:19 +00:00
extract-spvasm.py
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