mirror of
https://github.com/RPCSX/SPIRV-Tools.git
synced 2025-02-01 17:02:51 +00:00
c38495656d
* 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)").