dawn-cmake/test/tint/bug/chromium
James Price 0e22bdbae7 tint/msl: Fix emission of private variables
In order to avoid declaring too many function parameters, we
previously modified this transform to redeclare private variables that
are only used inside a single function as function-scope
variables. This was broken as it meant that their values did not
persist across multiple calls to the same function.

Instead, wrap all private variables in a structure and pass it around
as a pointer.

Fixed: tint:1875
Change-Id: I83f5eb1071d57b9c6af56d6cf21b3a32c6e94260
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124800
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-03-20 21:46:01 +00:00
..
1221120.wgsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1221120.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1221120.wgsl.expected.glsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.msl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.spvasm tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.wgsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1236161.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1236161.wgsl.expected.dxc.hlsl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.fxc.hlsl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.glsl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.msl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.spvasm tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1251009.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1251009.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1251009.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1251009.wgsl.expected.glsl tint/writer/glsl: Inline constant expressions 2022-06-01 01:11:59 +00:00
1251009.wgsl.expected.msl tint/writer/msl: Inline constant expressions 2022-06-01 10:08:29 +00:00
1251009.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1251009.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1273230.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1273230.wgsl.expected.dxc.hlsl tint/transform: Polyfill f32 conversion to i32 or u32 2023-03-09 21:26:12 +00:00
1273230.wgsl.expected.fxc.hlsl tint/transform: Polyfill f32 conversion to i32 or u32 2023-03-09 21:26:12 +00:00
1273230.wgsl.expected.glsl tint/transform: Polyfill f32 conversion to i32 or u32 2023-03-09 21:26:12 +00:00
1273230.wgsl.expected.msl tint/transform: Polyfill f32 conversion to i32 or u32 2023-03-09 21:26:12 +00:00
1273230.wgsl.expected.spvasm tint/transform: Polyfill f32 conversion to i32 or u32 2023-03-09 21:26:12 +00:00
1273230.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1273451.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
1273451.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1273451.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1273451.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1273451.wgsl.expected.msl When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
1273451.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1273451.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
1290107.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1290107.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1290107.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1290107.wgsl.expected.glsl GLSL: Change Add[Spirv]BlockAttribute to support GLSL 2022-09-02 19:19:10 +00:00
1290107.wgsl.expected.msl tint/writer/msl: Generate an array<T,N> helper 2022-06-24 17:01:59 +00:00
1290107.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1290107.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1341475.wgsl tint: transform::RemovePhonies: skip builtins with no side effects 2022-08-01 17:21:54 +00:00
1341475.wgsl.expected.dxc.hlsl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.fxc.hlsl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.glsl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.msl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.spvasm tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.wgsl tint: transform::RemovePhonies: skip builtins with no side effects 2022-08-01 17:21:54 +00:00
1343242.wgsl tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1343242.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1343242.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1343242.wgsl.expected.glsl tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1343242.wgsl.expected.msl tint/msl: Fix emission of private variables 2023-03-20 21:46:01 +00:00
1343242.wgsl.expected.spvasm tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1343242.wgsl.expected.wgsl tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1345468.wgsl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1345468.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1345468.wgsl.expected.glsl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.msl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.spvasm tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.wgsl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1350147.wgsl tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1350147.wgsl.expected.dxc.hlsl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1350147.wgsl.expected.fxc.hlsl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1350147.wgsl.expected.glsl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1350147.wgsl.expected.msl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1350147.wgsl.expected.spvasm tint: fix builtin calls and binary ops with abstract args of different type 2022-08-10 20:01:17 +00:00
1350147.wgsl.expected.wgsl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1360925.wgsl tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1360925.wgsl.expected.dxc.hlsl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.fxc.hlsl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.glsl tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1360925.wgsl.expected.msl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.spvasm tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1360925.wgsl.expected.wgsl tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1367602_function_space_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.msl tint/msl: Fix emission of private variables 2023-03-20 21:46:01 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.msl tint/msl: Fix emission of private variables 2023-03-20 21:46:01 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.glsl Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
1367602_storage_space.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.spvasm Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
1367602_storage_space.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1372963.wgsl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.dxc.hlsl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.fxc.hlsl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.glsl tint/writer/glsl: Set default precision to highp 2023-03-09 19:58:23 +00:00
1372963.wgsl.expected.msl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.spvasm tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.wgsl Update lexer to not include `-` in numbers. 2022-10-26 15:20:47 +00:00
1381883.wgsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.dxc.hlsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.fxc.hlsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.glsl tint/writer/glsl: Set default precision to highp 2023-03-09 19:58:23 +00:00
1381883.wgsl.expected.msl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.spvasm tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.wgsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1383755.wgsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.dxc.hlsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.fxc.hlsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.glsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.msl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.spvasm tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.wgsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1386647.wgsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.dxc.hlsl Move tint::transform::Robustness to a santizier transform 2023-03-02 20:48:48 +00:00
1386647.wgsl.expected.fxc.hlsl Move tint::transform::Robustness to a santizier transform 2023-03-02 20:48:48 +00:00
1386647.wgsl.expected.glsl Move tint::transform::Robustness to a santizier transform 2023-03-02 20:48:48 +00:00
1386647.wgsl.expected.msl Move tint::transform::Robustness to a santizier transform 2023-03-02 20:48:48 +00:00
1386647.wgsl.expected.spvasm tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.wgsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1395241.wgsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.dxc.hlsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.fxc.hlsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.glsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.msl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.spvasm tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.wgsl test/tint: Update SKIP "expectations" 2023-03-02 09:25:40 +00:00
1403752.wgsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.dxc.hlsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.fxc.hlsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.glsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.msl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.spvasm tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.wgsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1405676.wgsl tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1405676.wgsl.expected.dxc.hlsl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1405676.wgsl.expected.fxc.hlsl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1405676.wgsl.expected.glsl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1405676.wgsl.expected.msl Generic template and forward in stringstream. 2023-03-02 21:28:45 +00:00
1405676.wgsl.expected.spvasm tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1405676.wgsl.expected.wgsl tint: Validate @must_use on functions and builtins 2023-02-22 16:18:22 +00:00
1417515.wgsl tint: Fix constant::Splat conversion of struct types 2023-03-09 23:22:27 +00:00
1417515.wgsl.expected.dxc.hlsl tint: Fix constant::Splat conversion of struct types 2023-03-09 23:22:27 +00:00
1417515.wgsl.expected.fxc.hlsl tint: Fix constant::Splat conversion of struct types 2023-03-09 23:22:27 +00:00
1417515.wgsl.expected.glsl tint: Fix constant::Splat conversion of struct types 2023-03-09 23:22:27 +00:00
1417515.wgsl.expected.msl tint: Fix constant::Splat conversion of struct types 2023-03-09 23:22:27 +00:00
1417515.wgsl.expected.spvasm tint: Fix constant::Splat conversion of struct types 2023-03-09 23:22:27 +00:00
1417515.wgsl.expected.wgsl tint: Fix constant::Splat conversion of struct types 2023-03-09 23:22:27 +00:00