2021-01-09 01:30:07 -05:00
|
|
|
// 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"
|
2021-02-05 21:11:23 -05:00
|
|
|
#include "shader_recompiler/frontend/maxwell/opcodes.h"
|
2021-01-09 01:30:07 -05:00
|
|
|
|
|
|
|
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
|