summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-tools/source/opt/module.cpp16
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
}