dawn-cmake/src
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
..
ast ast: Remove TypeConstructorExpression 2021-11-15 20:45:50 +00:00
diagnostic Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
inspector resolver: Fix constant propagation for POC 2021-11-11 19:12:36 +00:00
reader Block comments must be terminated before end of input 2021-11-17 18:55:31 +00:00
resolver ast: Remove TypeConstructorExpression 2021-11-15 20:45:50 +00:00
sem ast: Remove TypeConstructorExpression 2021-11-15 20:45:50 +00:00
transform Add MultiplanarExternalTextureTransform and Tests 2021-11-17 12:10:16 +00:00
utils utils: Add utils::Transform 2021-11-12 13:04:06 +00:00
val val: Remove source from validation result 2021-07-14 13:23:45 +00:00
writer HLSL: force FXC to never unroll loops 2021-11-18 13:50:12 +00:00
BUILD.gn Add MultiplanarExternalTextureTransform and Tests 2021-11-17 12:10:16 +00:00
CMakeLists.txt Add MultiplanarExternalTextureTransform and Tests 2021-11-17 12:10:16 +00:00
block_allocator.h Remove sem::AccessControl 2021-05-14 17:51:13 +00:00
block_allocator_test.cc Add tint::BlockAllocator<T> 2021-01-21 15:30:10 +00:00
castable.cc Pull Is() out of castable and into a new TypeInfo 2021-03-02 20:30:08 +00:00
castable.h traits: Add SignatureOf helper 2021-11-11 16:07:12 +00:00
castable_test.cc castable: Infer Is() TO type from predicate 2021-08-23 15:16:42 +00:00
clone_context.cc Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
clone_context.h traits: Add SignatureOf helper 2021-11-11 16:07:12 +00:00
clone_context_test.cc Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
debug.cc diag: Add System enumerator to all diagnostics 2021-06-24 11:27:36 +00:00
debug.h Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
debug_test.cc diag: Add System enumerator to all diagnostics 2021-06-24 11:27:36 +00:00
demangler.cc Validate that Symbols are all part of the same program 2021-04-15 18:20:03 +00:00
demangler.h Simplify calls to ast::Node::[to_]str() 2021-01-29 11:22:40 +00:00
demangler_test.cc Validate that Symbols are all part of the same program 2021-04-15 18:20:03 +00:00
intrinsic_table.cc Rework Resolver so that we construct semantic types in a single pass. 2021-11-05 16:51:38 +00:00
intrinsic_table.h IntrinsicTable: De-duplicate returned Intrinsics 2021-07-15 20:34:21 +00:00
intrinsic_table.inl instrinsics: Implement dot() for integer vector types 2021-11-05 18:37:16 +00:00
intrinsic_table.inl.tmpl intrinsics: Add new struct form of modf(), frexp() 2021-07-23 16:43:01 +00:00
intrinsic_table_test.cc Cleanup intrinsic table tests 2021-11-04 19:36:25 +00:00
intrinsics.def instrinsics: Implement dot() for integer vector types 2021-11-05 18:37:16 +00:00
program.cc Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
program.h Make all ast and sem pointers const 2021-10-19 18:38:54 +00:00
program_builder.cc ProgramBuilder: Don't wrap call-exprs with a call-stmts 2021-11-12 13:20:46 +00:00
program_builder.h ast: Remove TypeConstructorExpression 2021-11-15 20:45:50 +00:00
program_builder_test.cc ast: Keep style consistent 2021-10-15 17:33:10 +00:00
program_id.cc ProgramID: Move hot code out of template function 2021-10-15 13:46:50 +00:00
program_id.h ProgramID: Move hot code out of template function 2021-10-15 13:46:50 +00:00
program_test.cc ast: Remove to_str() and type_name() 2021-10-14 21:25:49 +00:00
scope_stack.h Clean up the ScopeStack interface 2021-11-04 22:29:22 +00:00
scope_stack_test.cc Clean up the ScopeStack interface 2021-11-04 22:29:22 +00:00
source.cc Resolver: Check that every AST node is reached once 2021-04-19 19:16:12 +00:00
source.h wgsl parser: use new TypesBuilder factory functions, and set Source for ast::Type nodes 2021-04-27 17:32:37 +00:00
symbol.cc symbol: Add operator<() 2021-07-29 19:55:35 +00:00
symbol.h symbol: Add operator<() 2021-07-29 19:55:35 +00:00
symbol_table.cc Fix TextGenerator::UniqueIdentifier() failing with empty string arg 2021-06-29 22:07:05 +00:00
symbol_table.h Fix TextGenerator::UniqueIdentifier() failing with empty string arg 2021-06-29 22:07:05 +00:00
symbol_table_test.cc Fix TextGenerator::UniqueIdentifier() failing with empty string arg 2021-06-29 22:07:05 +00:00
symbol_test.cc Validate that Symbols are all part of the same program 2021-04-15 18:20:03 +00:00
test_main.cc Fix build when TINT_BUILD_[WGSL|SPV|MSL|HLSL]_[READER|WRITER] are toggled off 2021-09-03 14:16:56 +00:00
traits.h traits: Add SignatureOf helper 2021-11-11 16:07:12 +00:00
traits_test.cc traits: Add SignatureOf helper 2021-11-11 16:07:12 +00:00