dawn-cmake/test/array
Antonio Maiorano 11d09f2fe7 HLSL: force FXC to never unroll loops
Emit the "[loop]" attribute on "for" and "while" so that FXC does not
attempt to unroll them. This is to work around an FXC bug where it fails
to unroll loops with gradient operations.

FXC ostensibly unrolls such loops because gradient operations require
uniform control flow, and loops that have varying iterations may
possibly not be uniform. Tint will eventually validate that control flow
is indeed uniform, so forcing FXC to avoid unrolling in these cases
should be fine.

Bug: tint:1112
Change-Id: I10077f8b62fbbb230a0003f3864c75a8fe0e1d18
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/69880
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-11-18 13:50:12 +00:00
..
assign_to_function_var.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
assign_to_function_var.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
assign_to_function_var.wgsl.expected.hlsl HLSL: force FXC to never unroll loops 2021-11-18 13:50:12 +00:00
assign_to_function_var.wgsl.expected.msl msl: Handle buffer variables in transform 2021-10-28 15:00:39 +00:00
assign_to_function_var.wgsl.expected.spvasm Add optional access to ptr<> 2021-06-04 22:17:37 +00:00
assign_to_function_var.wgsl.expected.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
assign_to_private_var.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
assign_to_private_var.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
assign_to_private_var.wgsl.expected.hlsl HLSL: force FXC to never unroll loops 2021-11-18 13:50:12 +00:00
assign_to_private_var.wgsl.expected.msl msl: Handle buffer variables in transform 2021-10-28 15:00:39 +00:00
assign_to_private_var.wgsl.expected.spvasm Add optional access to ptr<> 2021-06-04 22:17:37 +00:00
assign_to_private_var.wgsl.expected.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
assign_to_storage_var.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
assign_to_storage_var.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
assign_to_storage_var.wgsl.expected.hlsl HLSL: force FXC to never unroll loops 2021-11-18 13:50:12 +00:00
assign_to_storage_var.wgsl.expected.msl msl: Handle buffer variables in transform 2021-10-28 15:00:39 +00:00
assign_to_storage_var.wgsl.expected.spvasm Add optional access to ptr<> 2021-06-04 22:17:37 +00:00
assign_to_storage_var.wgsl.expected.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
assign_to_subexpr.wgsl writer/msl: Wrap each array type in a struct 2021-06-02 17:23:03 +00:00
assign_to_subexpr.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
assign_to_subexpr.wgsl.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
assign_to_subexpr.wgsl.expected.msl transform/msl: Run InlinePointerLets and Simplify 2021-06-18 09:47:23 +00:00
assign_to_subexpr.wgsl.expected.spvasm transform/spirv: Use InlinePointerLets & Simplify 2021-06-10 17:34:44 +00:00
assign_to_subexpr.wgsl.expected.wgsl writer/msl: Wrap each array type in a struct 2021-06-02 17:23:03 +00:00
assign_to_workgroup_var.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
assign_to_workgroup_var.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
assign_to_workgroup_var.wgsl.expected.hlsl HLSL: force FXC to never unroll loops 2021-11-18 13:50:12 +00:00
assign_to_workgroup_var.wgsl.expected.msl msl: Handle buffer variables in transform 2021-10-28 15:00:39 +00:00
assign_to_workgroup_var.wgsl.expected.spvasm Add optional access to ptr<> 2021-06-04 22:17:37 +00:00
assign_to_workgroup_var.wgsl.expected.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
function_parameter.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
function_parameter.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
function_parameter.wgsl.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
function_parameter.wgsl.expected.msl Add transform/WrapArraysInStructs 2021-06-16 09:19:36 +00:00
function_parameter.wgsl.expected.spvasm writer/msl: Wrap each array type in a struct 2021-06-02 17:23:03 +00:00
function_parameter.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
function_return_type.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
function_return_type.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
function_return_type.wgsl.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
function_return_type.wgsl.expected.msl Add transform/WrapArraysInStructs 2021-06-16 09:19:36 +00:00
function_return_type.wgsl.expected.spvasm writer/msl: Wrap each array type in a struct 2021-06-02 17:23:03 +00:00
function_return_type.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
size.wgsl Allow array size to be a module-scope constant 2021-09-02 13:49:59 +00:00
size.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
size.wgsl.expected.hlsl Allow array size to be a module-scope constant 2021-09-02 13:49:59 +00:00
size.wgsl.expected.msl Allow array size to be a module-scope constant 2021-09-02 13:49:59 +00:00
size.wgsl.expected.spvasm Allow array size to be a module-scope constant 2021-09-02 13:49:59 +00:00
size.wgsl.expected.wgsl Allow array size to be a module-scope constant 2021-09-02 13:49:59 +00:00
type_constructor.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
type_constructor.wgsl.expected.glsl GLSL: add .expected.glsl files for all tests. 2021-11-16 15:15:36 +00:00
type_constructor.wgsl.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
type_constructor.wgsl.expected.msl Restore "MSL writer: make signed int overflow defined behaviour" 2021-07-30 18:59:06 +00:00
type_constructor.wgsl.expected.spvasm writer/msl: Hoist array and struct initializers 2021-06-01 12:08:20 +00:00
type_constructor.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00