Avoid operand type range checks#3379
Merged
s-perron merged 3 commits intoKhronosGroup:masterfrom Jul 27, 2020
Merged
Conversation
Collaborator
Author
|
I did this because having range enum values in a public header works against binary compatibility, and binary compatibility should not be broken lightly. |
s-perron
approved these changes
May 25, 2020
e244d94 to
e85e0c9
Compare
Collaborator
Author
|
Fixed formatting and rebased against master |
Deprecates the SPV_OPERAND_TYPE_FIRST_* and SPV_OPERAND_TYPE_LAST_* macros. The "variable" and "optional" operand types are only for internal use. Export spvOperandIsConcrete instead, as that should cover intended external uses. Test that each operand type is classified either as one of: - a sentinel value - a concrete operand type - an optional operand type (which includes variable-expansion types) Test that each concrete and optional non-variable operand type has a name for use internally when generating messages.
e85e0c9 to
9828ab8
Compare
Collaborator
|
I've rebased this and I believe I have fixed the test failure. |
dnovillo
pushed a commit
to dnovillo/SPIRV-Tools
that referenced
this pull request
Aug 19, 2020
* Avoid operand type range checks Deprecates the SPV_OPERAND_TYPE_FIRST_* and SPV_OPERAND_TYPE_LAST_* macros. The "variable" and "optional" operand types are only for internal use. Export spvOperandIsConcrete instead, as that should cover intended external uses. Test that each operand type is classified either as one of: - a sentinel value - a concrete operand type - an optional operand type (which includes variable-expansion types) Test that each concrete and optional non-variable operand type has a name for use internally when generating messages. Co-authored-by: Steven Perron <stevenperron@google.com>
dneto0
pushed a commit
to dneto0/SPIRV-Tools
that referenced
this pull request
Sep 14, 2024
* Rolling 2 dependencies and updating expectations Roll third_party/spirv-cross/ 6575e451f..0376576d2 (5 commits) KhronosGroup/SPIRV-Cross@6575e45...0376576 $ git log 6575e451f..0376576d2 --date=short --no-merges --format='%ad %ae %s' 2020-07-22 tommek Enabling setting a fixed sampleMask in Metal fragment shaders. 2020-02-20 cdavis MSL: Add support for processing more than one patch per workgroup. 2020-07-22 dsinclair Roll GLSLang, SPIRV-Headers and SPIRV-Tools. 2020-07-22 cdavis MSL: Factor creating a uint type into its own method. 2020-07-22 cdavis MSL: Factor a really gnarly condition into its own method. Created with: roll-dep third_party/spirv-cross Roll third_party/spirv-tools/ 969f028..b63f0e5 (13 commits) KhronosGroup/SPIRV-Tools@969f028...b63f0e5 $ git log 969f028..b63f0e5 --date=short --no-merges --format='%ad %ae %s' 2020-07-27 rdb Fix SyntaxWarning in Python 3.8 (KhronosGroup#3388) 2020-07-27 bclayton CMake: Enable building with BUILD_SHARED_LIBS=1 (KhronosGroup#3490) 2020-07-27 dneto Avoid operand type range checks (KhronosGroup#3379) 2020-07-27 jaebaek Preserve debug info in scalar replacement pass (KhronosGroup#3461) 2020-07-27 pierremoreau Update OpenCL capabilities validation (KhronosGroup#3149) 2020-07-27 stevenperron build(deps): bump lodash from 4.17.15 to 4.17.19 in /tools/sva (KhronosGroup#3596) 2020-07-27 antonikarp spirv-fuzz: adds TransformationReplaceLoadStoreWithCopyMemory (KhronosGroup#3586) 2020-07-27 jaebaek Preserve OpenCL.DebugInfo.100 through private-to-local pass (KhronosGroup#3571) 2020-07-27 stefanomil spirv-fuzz: Relax type checking for int contants (KhronosGroup#3573) 2020-07-27 stefanomil spirv-fuzz: Generalise transformation access chain (KhronosGroup#3546) 2020-07-27 stefanomil spirv-fuzz: Split blocks starting with OpPhi before trying to outline (KhronosGroup#3581) 2020-07-27 afdx spirv-fuzz: Set message consumer in replayer when shrinking (KhronosGroup#3591) 2020-07-24 vasniktel spirv-fuzz: Don't use default parameters (KhronosGroup#3583) Created with: roll-dep third_party/spirv-tools * Add in missing expectations update
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.
Deprecates the SPV_OPERAND_TYPE_FIRST_* and SPV_OPERAND_TYPE_LAST_*
macros.
The "variable" and "optional" operand types are only for internal use.
Export spvOperandIsConcrete instead, as that should cover intended
external uses.
Test that each operand type is classified either as one of:
Test that each concrete and optional non-variable operand type
has a name for use internally when generating messages.