27 lines
702 B
C++
27 lines
702 B
C++
|
// Copyright 2021 yuzu Emulator Project
|
||
|
// Licensed under GPLv2 or any later version
|
||
|
// Refer to the license.txt file included.
|
||
|
|
||
|
#include <array>
|
||
|
|
||
|
#include "shader_recompiler/exception.h"
|
||
|
#include "shader_recompiler/frontend/maxwell/opcode.h"
|
||
|
|
||
|
namespace Shader::Maxwell {
|
||
|
namespace {
|
||
|
constexpr std::array NAME_TABLE{
|
||
|
#define INST(name, cute, encode) #cute,
|
||
|
#include "maxwell.inc"
|
||
|
#undef INST
|
||
|
};
|
||
|
} // Anonymous namespace
|
||
|
|
||
|
const char* NameOf(Opcode opcode) {
|
||
|
if (static_cast<size_t>(opcode) >= NAME_TABLE.size()) {
|
||
|
throw InvalidArgument("Invalid opcode with raw value {}", static_cast<int>(opcode));
|
||
|
}
|
||
|
return NAME_TABLE[static_cast<size_t>(opcode)];
|
||
|
}
|
||
|
|
||
|
} // namespace Shader::Maxwell
|