NVDRV: Further refactors and eliminate old code.
This commit is contained in:
parent
383f95a063
commit
43d8a8fb77
18 changed files with 12 additions and 242 deletions
|
@ -14,7 +14,6 @@
|
|||
#include "core/core.h"
|
||||
#include "core/core_timing.h"
|
||||
#include "core/frontend/emu_window.h"
|
||||
#include "core/hardware_interrupt_manager.h"
|
||||
#include "core/hle/service/nvdrv/nvdata.h"
|
||||
#include "core/perf_stats.h"
|
||||
#include "video_core/cdma_pusher.h"
|
||||
|
@ -36,8 +35,6 @@
|
|||
|
||||
namespace Tegra {
|
||||
|
||||
MICROPROFILE_DEFINE(GPU_wait, "GPU", "Wait for the GPU", MP_RGB(128, 128, 192));
|
||||
|
||||
struct GPU::Impl {
|
||||
explicit Impl(GPU& gpu_, Core::System& system_, bool is_async_, bool use_nvdec_)
|
||||
: gpu{gpu_}, system{system_}, host1x{system.Host1x()}, use_nvdec{use_nvdec_},
|
||||
|
@ -197,30 +194,6 @@ struct GPU::Impl {
|
|||
return *shader_notify;
|
||||
}
|
||||
|
||||
/// Allows the CPU/NvFlinger to wait on the GPU before presenting a frame.
|
||||
void WaitFence(u32 syncpoint_id, u32 value) {
|
||||
if (syncpoint_id == UINT32_MAX) {
|
||||
return;
|
||||
}
|
||||
MICROPROFILE_SCOPE(GPU_wait);
|
||||
host1x.GetSyncpointManager().WaitHost(syncpoint_id, value);
|
||||
}
|
||||
|
||||
void IncrementSyncPoint(u32 syncpoint_id) {
|
||||
host1x.GetSyncpointManager().IncrementHost(syncpoint_id);
|
||||
}
|
||||
|
||||
[[nodiscard]] u32 GetSyncpointValue(u32 syncpoint_id) const {
|
||||
return host1x.GetSyncpointManager().GetHostSyncpointValue(syncpoint_id);
|
||||
}
|
||||
|
||||
void RegisterSyncptInterrupt(u32 syncpoint_id, u32 value) {
|
||||
auto& syncpoint_manager = host1x.GetSyncpointManager();
|
||||
syncpoint_manager.RegisterHostAction(syncpoint_id, value, [this, syncpoint_id, value]() {
|
||||
TriggerCpuInterrupt(syncpoint_id, value);
|
||||
});
|
||||
}
|
||||
|
||||
[[nodiscard]] u64 GetTicks() const {
|
||||
// This values were reversed engineered by fincs from NVN
|
||||
// The gpu clock is reported in units of 385/625 nanoseconds
|
||||
|
@ -322,11 +295,6 @@ struct GPU::Impl {
|
|||
gpu_thread.FlushAndInvalidateRegion(addr, size);
|
||||
}
|
||||
|
||||
void TriggerCpuInterrupt(u32 syncpoint_id, u32 value) const {
|
||||
auto& interrupt_manager = system.InterruptManager();
|
||||
interrupt_manager.GPUInterruptSyncpt(syncpoint_id, value);
|
||||
}
|
||||
|
||||
void RequestSwapBuffers(const Tegra::FramebufferConfig* framebuffer,
|
||||
Service::Nvidia::NvFence* fences, size_t num_fences) {
|
||||
size_t current_request_counter{};
|
||||
|
@ -524,22 +492,6 @@ void GPU::RequestSwapBuffers(const Tegra::FramebufferConfig* framebuffer,
|
|||
impl->RequestSwapBuffers(framebuffer, fences, num_fences);
|
||||
}
|
||||
|
||||
void GPU::WaitFence(u32 syncpoint_id, u32 value) {
|
||||
impl->WaitFence(syncpoint_id, value);
|
||||
}
|
||||
|
||||
void GPU::IncrementSyncPoint(u32 syncpoint_id) {
|
||||
impl->IncrementSyncPoint(syncpoint_id);
|
||||
}
|
||||
|
||||
u32 GPU::GetSyncpointValue(u32 syncpoint_id) const {
|
||||
return impl->GetSyncpointValue(syncpoint_id);
|
||||
}
|
||||
|
||||
void GPU::RegisterSyncptInterrupt(u32 syncpoint_id, u32 value) {
|
||||
impl->RegisterSyncptInterrupt(syncpoint_id, value);
|
||||
}
|
||||
|
||||
u64 GPU::GetTicks() const {
|
||||
return impl->GetTicks();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue