dawn-cmake/test/tint/array
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
..
assign_to_function_var.wgsl tint: Update constructor / conversion terminology 2023-02-22 20:04:40 +00:00
assign_to_function_var.wgsl.expected.dxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
assign_to_function_var.wgsl.expected.fxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
assign_to_function_var.wgsl.expected.glsl GLSL: implement host-visible memory padding. 2022-09-13 19:48:51 +00:00
assign_to_function_var.wgsl.expected.msl tint/msl: Fix emission of private variables 2023-03-20 21:46:01 +00:00
assign_to_function_var.wgsl.expected.spvasm GLSL: Change Add[Spirv]BlockAttribute to support GLSL 2022-09-02 19:19:10 +00:00
assign_to_function_var.wgsl.expected.wgsl tint: Rename 'type' to 'alias' 2023-01-24 14:55:17 +00:00
assign_to_private_var.wgsl tint: Update constructor / conversion terminology 2023-02-22 20:04:40 +00:00
assign_to_private_var.wgsl.expected.dxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
assign_to_private_var.wgsl.expected.fxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
assign_to_private_var.wgsl.expected.glsl GLSL: implement host-visible memory padding. 2022-09-13 19:48:51 +00:00
assign_to_private_var.wgsl.expected.msl tint/msl: Fix emission of private variables 2023-03-20 21:46:01 +00:00
assign_to_private_var.wgsl.expected.spvasm GLSL: Change Add[Spirv]BlockAttribute to support GLSL 2022-09-02 19:19:10 +00:00
assign_to_private_var.wgsl.expected.wgsl tint: Rename 'type' to 'alias' 2023-01-24 14:55:17 +00:00
assign_to_storage_var.wgsl tint: Update constructor / conversion terminology 2023-02-22 20:04:40 +00:00
assign_to_storage_var.wgsl.expected.dxc.hlsl tint: Flip evaluation order of assignment statements 2023-03-08 21:48:45 +00:00
assign_to_storage_var.wgsl.expected.fxc.hlsl tint: Flip evaluation order of assignment statements 2023-03-08 21:48:45 +00:00
assign_to_storage_var.wgsl.expected.glsl tint: Flip evaluation order of assignment statements 2023-03-08 21:48:45 +00:00
assign_to_storage_var.wgsl.expected.msl tint/msl: Fix emission of private variables 2023-03-20 21:46:01 +00:00
assign_to_storage_var.wgsl.expected.spvasm tint: Flip evaluation order of assignment statements 2023-03-08 21:48:45 +00:00
assign_to_storage_var.wgsl.expected.wgsl tint: Rename 'type' to 'alias' 2023-01-24 14:55:17 +00:00
assign_to_subexpr.wgsl tint: Rename 'type' to 'alias' 2023-01-24 14:55:17 +00:00
assign_to_subexpr.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
assign_to_subexpr.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
assign_to_subexpr.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
assign_to_subexpr.wgsl.expected.msl tint/writer/msl: Generate an array<T,N> helper 2022-06-24 17:01:59 +00:00
assign_to_subexpr.wgsl.expected.spvasm tint/writer/spirv: Inline constant expressions 2022-06-01 15:57:22 +00:00
assign_to_subexpr.wgsl.expected.wgsl tint: Rename 'type' to 'alias' 2023-01-24 14:55:17 +00:00
assign_to_workgroup_var.wgsl tint: Update constructor / conversion terminology 2023-02-22 20:04:40 +00:00
assign_to_workgroup_var.wgsl.expected.dxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
assign_to_workgroup_var.wgsl.expected.fxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
assign_to_workgroup_var.wgsl.expected.glsl GLSL: implement host-visible memory padding. 2022-09-13 19:48:51 +00:00
assign_to_workgroup_var.wgsl.expected.msl tint/msl: Fix emission of private variables 2023-03-20 21:46:01 +00:00
assign_to_workgroup_var.wgsl.expected.spvasm GLSL: Change Add[Spirv]BlockAttribute to support GLSL 2022-09-02 19:19:10 +00:00
assign_to_workgroup_var.wgsl.expected.wgsl tint: Rename 'type' to 'alias' 2023-01-24 14:55:17 +00:00
function_parameter.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
function_parameter.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
function_parameter.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
function_parameter.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_parameter.wgsl.expected.msl tint/writer/msl: Generate an array<T,N> helper 2022-06-24 17:01:59 +00:00
function_parameter.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_parameter.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
function_return_type.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
function_return_type.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
function_return_type.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
function_return_type.wgsl.expected.glsl PromoteSideEffectsToDecl: add to 4 backends and regen tests 2022-03-15 15:35:13 +00:00
function_return_type.wgsl.expected.msl tint/writer/msl: Generate an array<T,N> helper 2022-06-24 17:01:59 +00:00
function_return_type.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_return_type.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
size.wgsl tint/reader/wgsl: Remove element_count_expression() 2023-02-24 21:02:40 +00:00
size.wgsl.expected.dxc.hlsl tint/reader/wgsl: Remove element_count_expression() 2023-02-24 21:02:40 +00:00
size.wgsl.expected.fxc.hlsl tint/reader/wgsl: Remove element_count_expression() 2023-02-24 21:02:40 +00:00
size.wgsl.expected.glsl tint/writer/glsl: Set default precision to highp 2023-03-09 19:58:23 +00:00
size.wgsl.expected.msl tint/reader/wgsl: Remove element_count_expression() 2023-02-24 21:02:40 +00:00
size.wgsl.expected.spvasm tint/reader/wgsl: Remove element_count_expression() 2023-02-24 21:02:40 +00:00
size.wgsl.expected.wgsl tint/reader/wgsl: Remove element_count_expression() 2023-02-24 21:02:40 +00:00
strides.spvasm Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
strides.spvasm.expected.dxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
strides.spvasm.expected.fxc.hlsl tint/transform: Inline HLSL uniform / storage buffers 2023-02-24 17:16:55 +00:00
strides.spvasm.expected.glsl tint: Add PreservePadding transform 2022-12-06 18:32:19 +00:00
strides.spvasm.expected.msl tint: Add PreservePadding transform 2022-12-06 18:32:19 +00:00
strides.spvasm.expected.spvasm tint: Add PreservePadding transform 2022-12-06 18:32:19 +00:00
strides.spvasm.expected.wgsl tint: Rename 'type' to 'alias' 2023-01-24 14:55:17 +00:00
type_initializer.wgsl Update internals to initializer instead of constructor. 2022-10-20 13:38:28 +00:00
type_initializer.wgsl.expected.dxc.hlsl tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
type_initializer.wgsl.expected.fxc.hlsl tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
type_initializer.wgsl.expected.glsl tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
type_initializer.wgsl.expected.msl tint/transform: fix PromoteInitializersToLet for constant expressions 2022-12-09 12:34:36 +00:00
type_initializer.wgsl.expected.spvasm Update internals to initializer instead of constructor. 2022-10-20 13:38:28 +00:00
type_initializer.wgsl.expected.wgsl Update internals to initializer instead of constructor. 2022-10-20 13:38:28 +00:00