Add support for SPV_KHR_non_semantic_info#3110
Merged
dneto0 merged 9 commits intoKhronosGroup:masterfrom Dec 18, 2019
Merged
Conversation
This entails a couple of changes: - Allowing unknown OpExtInstImport that begin with the prefix `NonSemantic.` - Allowing OpExtInst that reference any of those sets to contain unknown ext inst instruction numbers, and assume the format is always a series of IDs as guaranteed by the extension. - Allowing those OpExtInst to appear in the types/variables/constants section. - Not stripping OpString in the --strip-debug pass, since it may be referenced by these non-semantic OpExtInsts. - Stripping them instead in the --strip-reflect pass.
- We validate and test that OpExtInst cannot appear before or between OpPhi instructions, or before/between OpFunctionParameter instructions.
* Add helper function spvExtInstIsNonSemantic() which will check if the extinst set is non-semantic or not, either the unknown generic value or any future recognised non-semantic set.
* Any OpString used by a non-semantic instruction cannot be stripped, all others can so we search for uses to see if each string can be removed. * We only do this if the non-semantic debug info extension is enabled, otherwise all strings can be trivially removed.
Collaborator
Author
|
I already approved on #3109 |
Collaborator
Author
|
Grr. In the squash, all the commits were attributed to me instead of the vast majority being attributed to @baldurk |
7 tasks
s-perron
added a commit
to s-perron/SPIRV-Tools
that referenced
this pull request
Dec 14, 2021
In KhronosGroup#3110, the strip reflect pass was changed to also remove all explicitly nonsemantic instructions. This makes it so that the name of the pass no longer reflects what the pass actually does. This change renames the pass so that it reflects what the pass actaully does.
s-perron
added a commit
that referenced
this pull request
Dec 15, 2021
In #3110, the strip reflect pass was changed to also remove all explicitly nonsemantic instructions. This makes it so that the name of the pass no longer reflects what the pass actually does. This change renames the pass so that it reflects what the pass actaully does.
dneto0
pushed a commit
to dneto0/SPIRV-Tools
that referenced
this pull request
Sep 14, 2024
Roll third_party/glslang/ ebf634b..40801e3 (8 commits) KhronosGroup/glslang@ebf634b...40801e3 $ git log ebf634b..40801e3 --date=short --no-merges --format='%ad %ae %s' 2020-01-06 cepheus Bump revision 2020-01-06 laddoc Add builtin constants 2019-12-26 cepheus HLSL: Fix KhronosGroup#2037: Integer dot used incorrect input for adds. 2019-12-25 laddoc atomic counter offset should align to 4 2019-11-26 laddoc Add support for ARB_uniform_buffer_object 2019-11-26 laddoc Add support for ARB_texture_multisample 2019-11-26 laddoc Add support for ARB_sample_shading 2019-12-20 cepheus Command-line: Give better error messages. From KhronosGroup#1829. Roll third_party/googletest/ 5b162a79d..306f3754a (17 commits) google/googletest@5b162a7...306f375 $ git log 5b162a79d..306f3754a --date=short --no-merges --format='%ad %ae %s' 2019-12-30 absl-team Googletest export 2019-12-30 absl-team Googletest export 2019-12-26 absl-team Googletest export 2019-12-19 absl-team Googletest export 2019-12-18 absl-team Googletest export 2019-12-18 absl-team Googletest export 2019-12-20 kontakt Make move operation noexcept. 2019-12-20 kontakt Define default destructor for test classes 2019-12-20 kontakt Deleted functions as part of public interface 2019-12-20 kontakt Review notes: Return T& from assignment operators 2019-12-17 kontakt Disable move constructor and assignment operator for test classes. 2019-12-16 krzysio Googletest export 2019-12-10 syoussefi Revert "Googletest export": disallow empty prefix 2019-12-10 syoussefi Revert "Googletest export": Remove test for empty prefix 2019-12-16 syoussefi Workaround VS bug w.r.t empty arguments to macros 2019-12-13 kravlala.1 Activate GNU extensions in case of MSYS generator 2019-11-22 krystian.kuzniarek remove stale comments about older GCC versions Roll third_party/re2/ 7470f4d02..00af5b44d (2 commits) google/re2@7470f4d...00af5b4 $ git log 7470f4d02..00af5b44d --date=short --no-merges --format='%ad %ae %s' 2020-01-05 junyer Fix a comment. 2019-12-29 junyer Make DFA use hints. Roll third_party/spirv-cross/ f912c3289..961b9014a (6 commits) KhronosGroup/SPIRV-Cross@f912c32...961b901 $ git log f912c3289..961b9014a --date=short --no-merges --format='%ad %ae %s' 2020-01-06 post Fix Clang warnings. 2020-01-06 post Roll custom versions of isalpha/isalnum. 2020-01-06 post Add test shader for OpCopyLogical with packing/unpacking. 2020-01-06 post Go through access chain path for OpCopyLogical. 2020-01-06 post Basic implementation of OpCopyLogical. 2019-12-21 dm86.jang Add debug prefix on Windows Roll third_party/spirv-tools/ 96354f5..c8bf143 (12 commits) KhronosGroup/SPIRV-Tools@96354f5...c8bf143 $ git log 96354f5..c8bf143 --date=short --no-merges --format='%ad %ae %s' 2020-01-06 dneto GetOperandConstants operand can be const (KhronosGroup#3126) 2019-12-27 dneto Avoid pessimizing std::move (KhronosGroup#3124) 2019-12-27 kburjack Fix typo in validation message (KhronosGroup#3122) 2019-12-27 greg Change default version for CreatInstBindlessCheckPass to 2 (KhronosGroup#3119) 2019-12-20 greg Fix convert-relax-to-half invalid code (KhronosGroup#3099) (KhronosGroup#3106) 2019-12-19 dneto Support OpenCL.DebugInfo.100 extended instruction set (KhronosGroup#3080) 2019-12-19 afdx spirv-fuzz: Always add new globals to entry point interfaces (KhronosGroup#3113) 2019-12-19 afdx spirv-fuzz: Transformation to add a new function to a module (KhronosGroup#3114) 2019-12-19 afdx spirv-fuzz: Avoid passing access chains as parameters (KhronosGroup#3112) 2019-12-18 dneto Add support for SPV_KHR_non_semantic_info (KhronosGroup#3110) 2019-12-16 afdx spirv-fuzz: Transformations to add types, constants and variables (KhronosGroup#3101) 2019-12-16 greg Make Instrumentation format version 2 the default (Step 1) (KhronosGroup#3096) Created with: roll-dep third_party/effcee third_party/glslang third_party/googletest third_party/re2 third_party/spirv-cross third_party/spirv-headers third_party/spirv-tools
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Followup to fix minor build bot issues in #3109