mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-03 06:38:46 +00:00
fix num args 4 -> 5
This commit is contained in:
parent
72136b4bdd
commit
9fd59e256a
2 changed files with 10 additions and 4 deletions
|
@ -5,9 +5,11 @@
|
||||||
#include <bit>
|
#include <bit>
|
||||||
#include <source_location>
|
#include <source_location>
|
||||||
#include <boost/container/small_vector.hpp>
|
#include <boost/container/small_vector.hpp>
|
||||||
|
#include "common/assert.h"
|
||||||
#include "shader_recompiler/exception.h"
|
#include "shader_recompiler/exception.h"
|
||||||
#include "shader_recompiler/ir/debug_print.h"
|
#include "shader_recompiler/ir/debug_print.h"
|
||||||
#include "shader_recompiler/ir/ir_emitter.h"
|
#include "shader_recompiler/ir/ir_emitter.h"
|
||||||
|
#include "shader_recompiler/ir/opcodes.h"
|
||||||
#include "shader_recompiler/ir/value.h"
|
#include "shader_recompiler/ir/value.h"
|
||||||
|
|
||||||
namespace Shader::IR {
|
namespace Shader::IR {
|
||||||
|
@ -1558,13 +1560,17 @@ void IREmitter::ImageWrite(const Value& handle, const Value& coords, const Value
|
||||||
|
|
||||||
void IREmitter::DebugPrint(std::string_view format,
|
void IREmitter::DebugPrint(std::string_view format,
|
||||||
boost::container::small_vector<Value, 5> format_args) {
|
boost::container::small_vector<Value, 5> format_args) {
|
||||||
std::array<Value, 5> args;
|
constexpr size_t PRINT_MAX_ARGS = NumArgsOf(IR::Opcode::DebugPrint);
|
||||||
|
std::array<Value, PRINT_MAX_ARGS> args;
|
||||||
|
|
||||||
|
ASSERT_MSG(format_args.size() < PRINT_MAX_ARGS, "DebugPrint only supports up to {} format args",
|
||||||
|
PRINT_MAX_ARGS);
|
||||||
|
|
||||||
for (int i = 0; i < format_args.size(); i++) {
|
for (int i = 0; i < format_args.size(); i++) {
|
||||||
args[i] = format_args[i];
|
args[i] = format_args[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = format_args.size(); i < 4; i++) {
|
for (int i = format_args.size(); i < PRINT_MAX_ARGS; i++) {
|
||||||
args[i] = Inst(Opcode::Void);
|
args[i] = Inst(Opcode::Void);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ constexpr u8 NUM_ARGS[]{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the number of arguments an opcode accepts
|
/// Get the number of arguments an opcode accepts
|
||||||
[[nodiscard]] inline size_t NumArgsOf(Opcode op) noexcept {
|
[[nodiscard]] constexpr inline size_t NumArgsOf(Opcode op) noexcept {
|
||||||
return static_cast<size_t>(Detail::NUM_ARGS[static_cast<size_t>(op)]);
|
return static_cast<size_t>(Detail::NUM_ARGS[static_cast<size_t>(op)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue