diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-02-12 21:33:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-12 21:33:26 +0100 |
commit | 443bb3d522916f9be2d27fc8b3d7b5cc942213df (patch) | |
tree | 5a83052ad2f5888a282d4db2ef9b9f2d4e647a60 /src/video_core/regs.cpp | |
parent | citra-qt: Don't attempt to scan files with unsupported extensions (#2402) (diff) | |
parent | VideoCore: Split u64 Pica reg unions into 2 separate u32 unions (diff) | |
download | yuzu-443bb3d522916f9be2d27fc8b3d7b5cc942213df.tar yuzu-443bb3d522916f9be2d27fc8b3d7b5cc942213df.tar.gz yuzu-443bb3d522916f9be2d27fc8b3d7b5cc942213df.tar.bz2 yuzu-443bb3d522916f9be2d27fc8b3d7b5cc942213df.tar.lz yuzu-443bb3d522916f9be2d27fc8b3d7b5cc942213df.tar.xz yuzu-443bb3d522916f9be2d27fc8b3d7b5cc942213df.tar.zst yuzu-443bb3d522916f9be2d27fc8b3d7b5cc942213df.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/regs.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/video_core/regs.cpp b/src/video_core/regs.cpp index f47e9e763..2699e710a 100644 --- a/src/video_core/regs.cpp +++ b/src/video_core/regs.cpp @@ -2,8 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include <algorithm> #include <iterator> -#include <unordered_map> #include <utility> #include "common/common_types.h" @@ -474,19 +474,14 @@ static const std::pair<u16, const char*> register_names[] = { {0x2DD, "GPUREG_VSH_OPDESCS_DATA7"}, }; -std::string Regs::GetCommandName(int index) { - static std::unordered_map<u32, const char*> map; - - if (map.empty()) { - map.insert(std::begin(register_names), std::end(register_names)); - } - - // Return empty string if no match is found - auto it = map.find(index); - if (it != map.end()) { - return it->second; +const char* Regs::GetRegisterName(u16 index) { + auto found = std::lower_bound(std::begin(register_names), std::end(register_names), index, + [](auto p, auto i) { return p.first < i; }); + if (found->first == index) { + return found->second; } else { - return std::string(); + // Return empty string if no match is found + return ""; } } |