dawn-cmake/test/tint/array
James Price 8753796aac tint: Add PreservePadding transform
This is used to ensure that assignments to host-visible memory do not
modify padding bytes in structures and arrays. We decompose
assignments of whole structure and array types into member-wise or
element-wise copies, using helper functions.

This is used in all backends except HLSL, which already decomposes
memory accesses.

Bug: tint:1571
Change-Id: Id6de2f917fb80151cc654a7e1c8413ae956f0d61
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112720
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2022-12-06 18:32:19 +00:00
..
assign_to_function_var.wgsl Rename StorageClass to AddressSpace. 2022-10-03 14:05:23 +00:00
assign_to_function_var.wgsl.expected.dxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
assign_to_function_var.wgsl.expected.fxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +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 When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28: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 wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
assign_to_private_var.wgsl Rename StorageClass to AddressSpace. 2022-10-03 14:05:23 +00:00
assign_to_private_var.wgsl.expected.dxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
assign_to_private_var.wgsl.expected.fxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +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 When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28: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 wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
assign_to_storage_var.wgsl Rename StorageClass to AddressSpace. 2022-10-03 14:05:23 +00:00
assign_to_storage_var.wgsl.expected.dxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
assign_to_storage_var.wgsl.expected.fxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
assign_to_storage_var.wgsl.expected.glsl Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
assign_to_storage_var.wgsl.expected.msl When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
assign_to_storage_var.wgsl.expected.spvasm Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
assign_to_storage_var.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
assign_to_subexpr.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +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 wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
assign_to_workgroup_var.wgsl Rename StorageClass to AddressSpace. 2022-10-03 14:05:23 +00:00
assign_to_workgroup_var.wgsl.expected.dxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
assign_to_workgroup_var.wgsl.expected.fxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +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 When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28: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 wgsl: Separate struct members with commas 2022-03-28 14:31:22 +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: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
size.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
size.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
size.wgsl.expected.glsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
size.wgsl.expected.msl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
size.wgsl.expected.spvasm tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
size.wgsl.expected.wgsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +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/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +00:00
strides.spvasm.expected.fxc.hlsl tint/hlsl: remove [loop] attribute on all loops 2022-09-29 16:53:58 +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/writer/wgsl: Print @offset attributes as comment 2022-12-01 17:37:56 +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 Update internals to initializer instead of constructor. 2022-10-20 13:38:28 +00:00
type_initializer.wgsl.expected.fxc.hlsl Update internals to initializer instead of constructor. 2022-10-20 13:38:28 +00:00
type_initializer.wgsl.expected.glsl Update internals to initializer instead of constructor. 2022-10-20 13:38:28 +00:00
type_initializer.wgsl.expected.msl Update internals to initializer instead of constructor. 2022-10-20 13:38:28 +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