dawn-cmake/src/tint/resolver
Zhaoming Jiang 6fe1f515d4 tint: Add f16 support for parts of float built-in, part 1
This patch add f16 support for a major part of numeric built-in, and
implement corresponding unittests for resolver and backends. This patch
also enable f16 constant evaluation for unary minus operator, `atan2`
and `clamp`.

The following numeric built-ins are not supported yet:
* frexp
* modf

The end-to-end tests for f16 built-in are not added yet.

Bug: tint:1473, tint:1502
Change-Id: If807185617b21c510a1a9c371179a60800c4f875
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96722
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2022-07-29 11:41:51 +00:00
..
array_accessor_test.cc tint/sem: Remove TypeMappings for derived expressions 2022-07-07 17:15:01 +00:00
assignment_validation_test.cc Fixup various warnings in Tint which were accidentally suppressed. 2022-06-29 14:38:15 +00:00
atomics_test.cc Fixup various warnings in Tint which were accidentally suppressed. 2022-06-29 14:38:15 +00:00
atomics_validation_test.cc tint: Rename Global() -> GlobalVar() 2022-06-25 08:12:59 +00:00
attribute_validation_test.cc tint/ast: Rename Builtin to BuiltinValue 2022-07-27 18:48:06 +00:00
bitcast_validation_test.cc tint: Change all ProgramBuilder literals to 'i' or 'u' suffix 2022-05-05 20:23:40 +00:00
builtin_test.cc tint: Add f16 support for parts of float built-in, part 1 2022-07-29 11:41:51 +00:00
builtin_validation_test.cc tint/ast: Generate ast::Extension from intrinsics.def 2022-07-27 18:32:19 +00:00
builtins_validation_test.cc tint/ast: Rename Builtin to BuiltinValue 2022-07-27 18:48:06 +00:00
call_test.cc tint/resolver: Add f16 types, constructor, and conversions 2022-06-28 14:03:36 +00:00
call_validation_test.cc tint: Rename Global() -> GlobalVar() 2022-06-25 08:12:59 +00:00
compound_assignment_validation_test.cc tint: Rename Global() -> GlobalVar() 2022-06-25 08:12:59 +00:00
compound_statement_test.cc Add while statement parsing. 2022-06-16 12:01:27 +00:00
const_eval.cc tint: Add f16 support for parts of float built-in, part 1 2022-07-29 11:41:51 +00:00
const_eval.h const eval of clamp 2022-07-27 15:02:25 +00:00
const_eval_test.cc tint: Add f16 support for parts of float built-in, part 1 2022-07-29 11:41:51 +00:00
control_block_validation_test.cc tint: Replace all ProgramBuilder float literals with '_f' suffix 2022-05-10 17:30:15 +00:00
ctor_conv_intrinsic.cc tools: Shuffle 'intrinsic-gen' tooling 2022-07-26 15:46:44 +00:00
ctor_conv_intrinsic.cc.tmpl tint/ast: Generate ast::StorageClass from intrinsics.def 2022-07-27 16:36:35 +00:00
ctor_conv_intrinsic.h tools: Shuffle 'intrinsic-gen' tooling 2022-07-26 15:46:44 +00:00
ctor_conv_intrinsic.h.tmpl tint/ast: Generate ast::StorageClass from intrinsics.def 2022-07-27 16:36:35 +00:00
dependency_graph.cc tint/sem/constant.h: Remove #include to program_builder.h 2022-06-29 10:58:41 +00:00
dependency_graph.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
dependency_graph_test.cc tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
entry_point_validation_test.cc tint/ast: Rename Builtin to BuiltinValue 2022-07-27 18:48:06 +00:00
evaluation_stage_test.cc tint/resolver: Track evaluation stage 2022-07-15 23:46:31 +00:00
function_validation_test.cc tint/ast: Clean up StorageClass enum 2022-07-26 22:51:36 +00:00
host_shareable_validation_test.cc tint/resolver: Temporally ban f16 in buffer, pipeline IO and override 2022-07-08 19:35:05 +00:00
increment_decrement_validation_test.cc tint: Rename Global() -> GlobalVar() 2022-06-25 08:12:59 +00:00
inferred_type_test.cc tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
intrinsic_table.cc tint/resolver: Use utils::Vector in a few places 2022-07-26 07:55:24 +00:00
intrinsic_table.h tint/resolver: Use utils::Vector in a few places 2022-07-26 07:55:24 +00:00
intrinsic_table.inl tint: Add f16 support for parts of float built-in, part 1 2022-07-29 11:41:51 +00:00
intrinsic_table.inl.tmpl Drop line and col in intrinsic file 2022-07-27 19:47:36 +00:00
intrinsic_table_test.cc const eval of clamp 2022-07-27 15:02:25 +00:00
is_host_shareable_test.cc tint/resolver: Add f16 types, constructor, and conversions 2022-06-28 14:03:36 +00:00
is_storeable_test.cc tint/resolver: Add f16 types, constructor, and conversions 2022-06-28 14:03:36 +00:00
materialize_test.cc tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
override_test.cc tint: Add tint::OverrideId 2022-07-27 20:50:40 +00:00
ptr_ref_test.cc Fixup various warnings in Tint which were accidentally suppressed. 2022-06-29 14:38:15 +00:00
ptr_ref_validation_test.cc Fixup various warnings in Tint which were accidentally suppressed. 2022-06-29 14:38:15 +00:00
resolver.cc tint: Add tint::OverrideId 2022-07-27 20:50:40 +00:00
resolver.h tint: Add tint::OverrideId 2022-07-27 20:50:40 +00:00
resolver_behavior_test.cc Add while statement parsing. 2022-06-16 12:01:27 +00:00
resolver_is_storeable_test.cc Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
resolver_test.cc tint/resolver: Use utils::Vector in a few places 2022-07-26 07:55:24 +00:00
resolver_test_helper.cc tint/resolver: Enable abstract-numerics 2022-06-01 20:34:40 +00:00
resolver_test_helper.h tint: Rename Global() -> GlobalVar() 2022-06-25 08:12:59 +00:00
sem_helper.cc tint: Merge [S|U]intLiteralExpression 2022-05-04 22:18:49 +00:00
sem_helper.h tint: Merge [S|U]intLiteralExpression 2022-05-04 22:18:49 +00:00
side_effects_test.cc tint: Rename Global() -> GlobalVar() 2022-06-25 08:12:59 +00:00
source_variable_test.cc tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
storage_class_layout_validation_test.cc tint: Rename Global() -> GlobalVar() 2022-06-25 08:12:59 +00:00
storage_class_validation_test.cc tint/resolver: Make the F16 ban error message show a single SC. 2022-07-20 14:15:54 +00:00
struct_layout_test.cc tint/resolver: Add f16 types, constructor, and conversions 2022-06-28 14:03:36 +00:00
struct_pipeline_stage_use_test.cc tint/ast: Rename Builtin to BuiltinValue 2022-07-27 18:48:06 +00:00
struct_storage_class_use_test.cc Fixup various warnings in Tint which were accidentally suppressed. 2022-06-29 14:38:15 +00:00
type_constructor_validation_test.cc tint/resolver: Use utils::Vector in a few places 2022-07-26 07:55:24 +00:00
type_validation_test.cc Fixup various warnings in Tint which were accidentally suppressed. 2022-06-29 14:38:15 +00:00
uniformity.cc tint/ast: Rename Builtin to BuiltinValue 2022-07-27 18:48:06 +00:00
uniformity.h tint: Implement uniformity analaysis 2022-05-11 22:05:15 +00:00
uniformity_test.cc tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
validation_test.cc tint/ast: Rename Builtin to BuiltinValue 2022-07-27 18:48:06 +00:00
validator.cc tint: Add tint::OverrideId 2022-07-27 20:50:40 +00:00
validator.h tint: Add tint::OverrideId 2022-07-27 20:50:40 +00:00
validator_is_storeable_test.cc tint/resolver: Add f16 types, constructor, and conversions 2022-06-28 14:03:36 +00:00
variable_test.cc tint: Implement constant expression structures 2022-07-14 20:46:39 +00:00
variable_validation_test.cc tint: Add tint::OverrideId 2022-07-27 20:50:40 +00:00