SPIRV-Tools/test
Pierre Moreau c38495656d
Linker improvements (#4679)
* test/linker: Code factorisation and small tweaks

* linker: Do not fail when going over limits

The limits are minima and implementations or APIs might support higher
limits, so just warn the user about it. And only check for the limits
right before emitting the binary, as limits might change earlier when
removing duplicate instructions, function prototypes, etc.
The only check performed right before merging, is making sure the ID
bound will not overflow the 32 bits following the merge.

Also, use the defines for the limits instead of hard-coding them.

* linker: Require a memory model in each input module

The existing code could run into weird situation. For example, if the
first module had no memory model, it would not emit any memory model
(sort of reasonable) and would accept without complains all possible mix
from later modules as it would not verify them.

* linker: Replace hex version with SPV_SPIRV_VERSION_WORD

* linker: Error out when linking together different versions

Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/4135

* tools/linker: Do not write to disk if linking failed

Also, do not consider warnings as errors.

* tools/linker: Fix formatting in help message

* tools/linker: Further clarify the use of --target-env

Also update the text for the default version to reflect the change made
in 7d768812 ("Basic support for SPIR-V 1.6 (#4663)").
2022-01-22 15:40:19 -05:00
..
fuzz spirv-fuzz: Account for differing signedness in WrapVectorSynonym (#4414) 2021-09-14 21:09:39 +00:00
fuzzers Fix opt fuzzer test harness (#4670) 2022-01-07 15:03:29 +00:00
link Linker improvements (#4679) 2022-01-22 15:40:19 -05:00
lint Add divergence analysis to linter (#4465) 2021-08-23 17:03:28 -04:00
opt reflect debug (#4662) 2021-12-15 11:06:51 -05:00
reduce spirv-reduce: Eliminate skeletal structured control flow construct (#4360) 2021-07-06 07:14:36 +01:00
scripts Remove unneeded future imports (#2739) 2019-07-24 15:29:38 -04:00
tools Basic support for SPIR-V 1.6 (#4663) 2021-12-15 14:38:28 -05:00
util Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
val val: interface struct with builtins must be Block (#4665) 2021-12-16 16:48:12 -05:00
wasm Add Wasm build (#3752) 2021-11-01 16:45:51 -04:00
assembly_context_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
assembly_format_test.cpp Assembler: Can't set an ID in instruction without result ID (#2852) 2019-09-11 13:15:25 -04:00
binary_destroy_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_endianness_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_header_get_test.cpp Basic support for SPIR-V 1.6 (#4663) 2021-12-15 14:38:28 -05:00
binary_parse_test.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
binary_strnlen_s_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_to_text_test.cpp Fix local size hint id tests (#4400) 2021-07-22 15:23:22 -04:00
binary_to_text.literal_test.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
c_interface_test.cpp Assembler: Can't set an ID in instruction without result ID (#2852) 2019-09-11 13:15:25 -04:00
CMakeLists.txt Add new target for spirv-lint (#4446) 2021-08-06 14:03:59 -04:00
comment_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
cpp_interface_test.cpp [val] Fixup id name output (#2158) 2018-12-03 17:01:30 -05:00
diagnostic_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
enum_set_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
enum_string_mapping_test.cpp Add validation for SPV_EXT_shader_atomic_float_min_max (#4105) 2021-03-24 08:49:21 -04:00
ext_inst.cldebug100_test.cpp Support OpenCL.DebugInfo.100 extended instruction set (#3080) 2019-12-19 17:16:26 -05:00
ext_inst.debuginfo_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
ext_inst.glsl_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
ext_inst.non_semantic_test.cpp Add support for SPV_KHR_non_semantic_info (#3110) 2019-12-18 18:10:29 -05:00
ext_inst.opencl_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
fix_word_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
generator_magic_number_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
hex_float_test.cpp fix parsing of bad binary exponents in hex floats (#4501) 2021-09-03 12:27:12 -04:00
immediate_int_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
libspirv_macros_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
log_test.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
name_mapper_test.cpp Add gl_BaseInstance to the name mapper. (#3462) 2020-06-26 11:54:35 -05:00
named_id_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
opcode_make_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_require_capabilities_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
opcode_split_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_table_get_test.cpp Favour 'integrity' over 'coherence' as a replacement for 'sanity'. (#3619) 2020-09-10 09:52:21 -04:00
operand_capabilities_test.cpp Update SPIRV-Headers (#4543) 2021-09-22 15:52:19 -04:00
operand_pattern_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
operand_test.cpp Avoid operand type range checks (#3379) 2020-07-27 13:14:03 -04:00
operand-class-test-coverage.csv Fix operand class test coverage table. 2016-09-23 11:58:25 -04:00
parse_number_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
pch_test.cpp Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
pch_test.h Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
preserve_numeric_ids_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
software_version_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
string_utils_test.cpp Move utils/ to spvtools::utils 2018-07-06 16:47:46 -04:00
target_env_test.cpp Basic support for SPIR-V 1.6 (#4663) 2021-12-15 14:38:28 -05:00
test_fixture.h Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
text_advance_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_destroy_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_literal_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_start_new_inst_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary_test.cpp Fix UBSan kokoro config (#4522) 2021-09-13 16:55:51 +01:00
text_to_binary.annotation_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
text_to_binary.barrier_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.composite_test.cpp Support SPIR-V 1.4 (#2550) 2019-05-07 12:27:18 -04:00
text_to_binary.constant_test.cpp Fix round trip tests that weren't instantiated (#3417) 2020-06-10 11:11:46 -04:00
text_to_binary.control_flow_test.cpp Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
text_to_binary.debug_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
text_to_binary.device_side_enqueue_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.extension_test.cpp Basic support for SPIR-V 1.6 (#4663) 2021-12-15 14:38:28 -05:00
text_to_binary.function_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.group_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.image_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.literal_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.memory_test.cpp SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -04:00
text_to_binary.misc_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.mode_setting_test.cpp Support SPV_KHR_subgroup_uniform_control_flow (#4318) 2021-06-15 10:07:42 -04:00
text_to_binary.pipe_storage_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.reserved_sampling_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.subgroup_dispatch_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.type_declaration_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_word_get_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
timer_test.cpp Remove extra semis (#2717) 2019-07-08 15:07:36 -04:00
unit_spirv.cpp Fix round trip tests that weren't instantiated (#3417) 2020-06-10 11:11:46 -04:00
unit_spirv.h Remove WebGPU support (#4108) 2021-01-14 16:45:18 -05:00