mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-08-25 16:54:41 +00:00
3aa0d46259
reworked a bit to remove references of parent objects and instead pass as arguments to methods to prevent useless reloads Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3908 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev>
50 lines
1.5 KiB
C++
50 lines
1.5 KiB
C++
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <array>
|
|
#include <cstddef>
|
|
#include "common/bit_field.h"
|
|
#include "common/common_funcs.h"
|
|
#include "common/common_types.h"
|
|
#include "common/logging.h"
|
|
#include "video_core/engines/engine_interface.h"
|
|
#include "video_core/engines/engine_upload.h"
|
|
|
|
namespace Core {
|
|
class System;
|
|
}
|
|
|
|
namespace Tegra {
|
|
class MemoryManager;
|
|
}
|
|
|
|
namespace Tegra::Engines {
|
|
class Nv01Timer final : public EngineInterface {
|
|
public:
|
|
explicit Nv01Timer(MemoryManager& memory_manager) noexcept {}
|
|
~Nv01Timer() noexcept override {}
|
|
|
|
/// Write the value to the register identified by method.
|
|
void CallMethod(Core::System& system, u32 method, u32 method_argument, bool is_last_call) override {
|
|
LOG_DEBUG(HW_GPU, "method={}, argument={}, is_last_call={}", method, method_argument, is_last_call);
|
|
}
|
|
|
|
/// Write multiple values to the register identified by method.
|
|
void CallMultiMethod(Core::System& system, u32 method, const u32* base_start, u32 amount, u32 methods_pending) override {
|
|
LOG_DEBUG(HW_GPU, "method={}, base_start={}, amount={}, pending={}", method, fmt::ptr(base_start), amount, methods_pending);
|
|
}
|
|
|
|
struct Regs {
|
|
// No fucking idea
|
|
INSERT_PADDING_BYTES_NOINIT(0x48);
|
|
} regs{};
|
|
private:
|
|
void ConsumeSinkImpl(Core::System& system) override {}
|
|
};
|
|
}
|