diff options
author | 2019-11-13 04:08:23 +0100 | |
---|---|---|
committer | 2019-11-12 22:08:23 -0500 | |
commit | 0c70101b74db61f883fdd7907a4975ffff735044 (patch) | |
tree | 067ae1c831088d6853b6f443e5a05a4c5d8cd7aa /3rdparty/bgfx/3rdparty/spirv-tools/source/opt/ir_context.cpp | |
parent | c089bea7011de9ca78f43979d902978a113d33e2 (diff) |
Sync bgfx, bx and bimg with upstream; fix the hlsl fs_chroma.sc matrix transposition properly (#5875)
* Sync bgfx with upstream revision 280420d
* Sync bx with upstream revision 267727d
* Sync bimg with upstream revision c1bab10
* Use bgfx helper functions to ensure correct matrix orientation
* Rebuild hlsl chain
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-tools/source/opt/ir_context.cpp')
-rw-r--r-- | 3rdparty/bgfx/3rdparty/spirv-tools/source/opt/ir_context.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/ir_context.cpp b/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/ir_context.cpp index 1c747b7a3a6..d940180da0b 100644 --- a/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/ir_context.cpp +++ b/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/ir_context.cpp @@ -94,6 +94,14 @@ void IRContext::InvalidateAnalyses(IRContext::Analysis analyses_to_invalidate) { if (analyses_to_invalidate & kAnalysisTypes) { analyses_to_invalidate |= kAnalysisConstants; } + + // The dominator analysis hold the psuedo entry and exit nodes from the CFG. + // Also if the CFG change the dominators many changed as well, so the + // dominator analysis should be invalidated as well. + if (analyses_to_invalidate & kAnalysisCFG) { + analyses_to_invalidate |= kAnalysisDominatorAnalysis; + } + if (analyses_to_invalidate & kAnalysisDefUse) { def_use_mgr_.reset(nullptr); } |