summaryrefslogtreecommitdiff
path: root/src/yuzu/debugger
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-05-05 12:08:16 -0400
committerbunnei <bunneidev@gmail.com>2018-05-10 19:34:48 -0400
commit5c0421ebd8e6c1ef04216f8aef7cc78e61785a5d (patch)
tree5b8411b77dbe9b9f7226d65b5f9613ffb5ea72b4 /src/yuzu/debugger
parent9bf2a428f9e9359763be1bfd90c32371044c711e (diff)
wait_tree: Show all threads on all schedulers.
Diffstat (limited to 'src/yuzu/debugger')
-rw-r--r--src/yuzu/debugger/wait_tree.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/yuzu/debugger/wait_tree.cpp b/src/yuzu/debugger/wait_tree.cpp
index f05c98cc3..a5da98d23 100644
--- a/src/yuzu/debugger/wait_tree.cpp
+++ b/src/yuzu/debugger/wait_tree.cpp
@@ -51,13 +51,21 @@ std::size_t WaitTreeItem::Row() const {
}
std::vector<std::unique_ptr<WaitTreeThread>> WaitTreeItem::MakeThreadItemList() {
- const auto& threads = Core::System::GetInstance().Scheduler(0)->GetThreadList();
std::vector<std::unique_ptr<WaitTreeThread>> item_list;
- item_list.reserve(threads.size());
- for (std::size_t i = 0; i < threads.size(); ++i) {
- item_list.push_back(std::make_unique<WaitTreeThread>(*threads[i]));
- item_list.back()->row = i;
- }
+ std::size_t row = 0;
+ auto add_threads = [&](const std::vector<Kernel::SharedPtr<Kernel::Thread>>& threads) {
+ for (std::size_t i = 0; i < threads.size(); ++i) {
+ item_list.push_back(std::make_unique<WaitTreeThread>(*threads[i]));
+ item_list.back()->row = row;
+ ++row;
+ }
+ };
+
+ add_threads(Core::System::GetInstance().Scheduler(0)->GetThreadList());
+ add_threads(Core::System::GetInstance().Scheduler(1)->GetThreadList());
+ add_threads(Core::System::GetInstance().Scheduler(2)->GetThreadList());
+ add_threads(Core::System::GetInstance().Scheduler(3)->GetThreadList());
+
return item_list;
}