diff options
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp')
-rw-r--r-- | 3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp b/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp index 6d024b5bcbc..c7fc2473d43 100644 --- a/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp +++ b/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp @@ -19,11 +19,24 @@ #include <ostream> #include "source/operand.h" +#include "source/opt/ir_context.h" #include "source/opt/reflect.h" namespace spvtools { namespace opt { +uint32_t Module::TakeNextIdBound() { + if (context()) { + if (id_bound() >= context()->max_id_bound()) { + return 0; + } + } else if (id_bound() >= kDefaultMaxIdBound) { + return 0; + } + + return header_.bound++; +} + std::vector<Instruction*> Module::GetTypes() { std::vector<Instruction*> type_insts; for (auto& inst : types_values_) { @@ -108,6 +121,9 @@ void Module::ForEachInst(const std::function<void(const Instruction*)>& f, static_cast<const Function*>(i.get())->ForEachInst(f, run_on_debug_line_insts); } + if (run_on_debug_line_insts) { + for (auto& i : trailing_dbg_line_info_) DELEGATE(i); + } #undef DELEGATE } |