yuzu/src/shader_recompiler/frontend/maxwell/opcodes.cpp

26 lines
683 B
C++
Raw Normal View History

// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
2021-01-09 01:30:07 -05:00
#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{
2021-05-27 16:51:00 -04:00
#define INST(name, cute, encode) cute,
2021-01-09 01:30:07 -05:00
#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