Update SPIRV-Tools. Relevant functional changes:
- Optimizer enhancements:
- ADCE now removes OpSwitch
- Block merging occurs in more cases
- Optimizer fixes:
- Constant propagation (CCP): support matrix constants
- #1199: Optimizer: Fix CCP: don't propagate spec constants.
- #1203: Optimizer: Fix common uniform elim bug introduced by refactoring.
- #1210: Optimizer: Aggressive dead code elimination: Fix 'break' identification.
- #1212: Optimizer: Aggressive dead code elimination: Was skipping too many instructions.
- #1214: Optimizer: Aggressive dead code elimination: Fix infinite loop.
- #1228: Optimizer: Fix CCP: Handling of varying Phi nodes; was resulting in infinite loop.
- #1245: Optimizer: Dead branch elimination: Avoid a null pointer dereference.
- #1250: Optimizer: Dead branch elimination: Avoid spuriously reporting a change.
- #1262: Support building on VisualStudio 2013 again
Update SPIRV-Headers, with "unified1" directory.
Updated one Glslang legalization test base result due to better block merging.
Store 137 38
Branch 100
100: Label
- 164: 21(int) Phi 25 5 119 102
- LoopMerge 101 102 None
- Branch 103
- 103: Label
+ 164: 21(int) Phi 25 5 119 106
105: 54(bool) SLessThan 164 31
+ LoopMerge 101 106 None
BranchConditional 105 106 101
106: Label
138: 39(ptr) AccessChain 133 164
116: 14(fvec3) Load 140
117: 14(fvec3) VectorShuffle 116 114 3 4 2
Store 140 117
- Branch 102
- 102: Label
119: 21(int) IAdd 164 31
Branch 100
101: Label
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Tools",
"subdir" : "External/spirv-tools",
- "commit" : "eb0c73dad6102fc0d4f03c62fe910348bae43a11"
+ "commit" : "9e19fc0f31ceaf1f6bc907dbf17dcfded85f2ce8"
},
{
"name" : "spirv-tools/external/spirv-headers",
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
- "commit" : "061097878467b8e040fbf153a837d844ef9f9f96"
+ "commit" : "ce309203d7eceaf908bea8862c27f3e0749f7d00"
}
]
}