Skip to content

spirv-fuzz: do not replace struct indices with synonyms#2915

Merged
afd merged 2 commits intoKhronosGroup:masterfrom
afd:fuzzer-fix-2906
Sep 25, 2019
Merged

spirv-fuzz: do not replace struct indices with synonyms#2915
afd merged 2 commits intoKhronosGroup:masterfrom
afd:fuzzer-fix-2906

Conversation

@afd
Copy link
Copy Markdown
Contributor

@afd afd commented Sep 25, 2019

This change introduces a robust check for whether an index in an
access chain is indexing into a struct, in which case the index needs
to be an OpConstant and cannot be replaced with a synonym.

Fixes #2906.

This change introduces a robust check for whether an index in an
access chain is indexing into a struct, in which case the index needs
to be an OpConstant and cannot be replaced with a synonym.

Fixes KhronosGroup#2906.
@afd afd requested a review from paulthomson September 25, 2019 12:08
@afd afd merged commit 70097c7 into KhronosGroup:master Sep 25, 2019
@afd afd deleted the fuzzer-fix-2906 branch September 25, 2019 15:54
dneto0 pushed a commit to dneto0/SPIRV-Tools that referenced this pull request Sep 14, 2024
Roll third_party/glslang/ 973d0e5..7bc0473 (1 commit)

KhronosGroup/glslang@973d0e5...7bc0473

$ git log 973d0e5..7bc0473 --date=short --no-merges --format='%ad %ae %s'
2019-09-18 laddoc Reflection will crash when the VS input symbol defines the same name with FS output symbol

Roll third_party/googletest/ f2fb48c3b..dc1ca9ae4 (7 commits)

google/googletest@f2fb48c...dc1ca9a

$ git log f2fb48c3b..dc1ca9ae4 --date=short --no-merges --format='%ad %ae %s'
2019-09-29 misterg Googletest export
2019-09-27 misterg Googletest export
2019-09-25 absl-team Googletest export
2019-09-25 absl-team Googletest export
2019-09-24 absl-team Googletest export
2019-09-19 absl-team Googletest export
2019-09-27 gennadiycivil Bump llvm version to 4 so brew can work again

Roll third_party/spirv-headers/ 601d738..842ec90 (4 commits)

KhronosGroup/SPIRV-Headers@601d738...842ec90

$ git log 601d738..842ec90 --date=short --no-merges --format='%ad %ae %s'
2019-09-24 ehsannas Improve the doc on using Bazel.
2019-09-24 rex.xu Bump the SPIR-V version to 1.5
2019-09-23 ehsannas Update documentation.
2019-09-18 ehsannas Add a Bazel build file.

Roll third_party/spirv-tools/ f62ee4a..9eb1c9a (22 commits)

KhronosGroup/SPIRV-Tools@f62ee4a...9eb1c9a

$ git log f62ee4a..9eb1c9a --date=short --no-merges --format='%ad %ae %s'
2019-10-01 stevenperron Add continue construct analysis to struct cfg analysis (KhronosGroup#2922)
2019-09-27 stevenperron Record trailing line dbg instructions (KhronosGroup#2926)
2019-09-27 rharrison Add removing references to debug instructions when removing them (KhronosGroup#2923)
2019-09-27 paulthomson spirv-fuzz: allow interestingness script arguments (KhronosGroup#2925)
2019-09-27 ehsannas Add Kokoro bots for building with Bazel. (KhronosGroup#2914)
2019-09-27 alanbaker Refactor the InstructionPass (KhronosGroup#2924)
2019-09-26 afdx spirv-fuzz: do not allow a dead break to target an unreachable block (KhronosGroup#2917)
2019-09-26 afdx spirv-fuzz: preserve some analyses when permuting blocks (KhronosGroup#2918)
2019-09-25 alanbaker Only allow previously declared forward refs in structs (KhronosGroup#2920)
2019-09-25 stevenperron Handle id overflow in wrap-opkill (KhronosGroup#2916)
2019-09-25 afdx spirv-fuzz: do not replace struct indices with synonyms (KhronosGroup#2915)
2019-09-25 afdx spirv-fuzz: Fixes to preconditions for adding dead break/continue edges (KhronosGroup#2904)
2019-09-25 afdx spirv-fuzz: do not replace a pointer argument to a function call with a synonym (KhronosGroup#2901)
2019-09-25 afdx spirv-fuzz: do not replace boolean constant argument to OpPhi instruction (KhronosGroup#2903)
2019-09-24 alanbaker Remove validate_datarules.cpp (KhronosGroup#2911)
2019-09-24 stevenperron Handle extract with no indexes (KhronosGroup#2910)
2019-09-24 ehsannas Add Bazel build configuration. (KhronosGroup#2891)
2019-09-24 stevenperron Handle id overflow in convert local access chains (KhronosGroup#2908)
2019-09-24 dsinclair Add OpCopyMemory test to SVA. (KhronosGroup#2885)
2019-09-23 dsinclair Add missing GN dependency (KhronosGroup#2899)
2019-09-23 afdx Employ the "swarm testing" idea in spirv-fuzz (KhronosGroup#2890)
2019-09-23 afdx Fix operand index in spirv-fuzz (KhronosGroup#2895)

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

spirv-fuzz: transformations can lead to invalid shader: "The <id> passed to OpAccessChain to index into a structure must be an OpConstant"

2 participants