aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/control
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 03:39:29 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 03:39:29 -0400
commitea6c1193fbfa95e586bb6d129dc684163a12cb3e (patch)
treee4d23143900184630deeabe27eab1321dac4a428 /src/video_core/control
parent0bb5055b6541c74f47603a8dff0569a509cbaf18 (diff)
Revert "Import experimental NS2 support and accumulated GPU fixes"
This reverts commit 535b676970. The Switch 2 support comes from the nx2 work instead, merged next.
Diffstat (limited to 'src/video_core/control')
-rw-r--r--src/video_core/control/channel_state.cpp1
-rw-r--r--src/video_core/control/channel_state.h3
-rw-r--r--src/video_core/control/scheduler.cpp22
-rw-r--r--src/video_core/control/scheduler.h5
4 files changed, 0 insertions, 31 deletions
diff --git a/src/video_core/control/channel_state.cpp b/src/video_core/control/channel_state.cpp
index 57113ce68e..12a452dfc0 100644
--- a/src/video_core/control/channel_state.cpp
+++ b/src/video_core/control/channel_state.cpp
@@ -55,7 +55,6 @@ void ChannelState::Init(Core::System& system, u64 program_id_) {
ASSERT(memory_manager);
program_id = program_id_;
payload.emplace(system, *memory_manager, *this);
- payload->maxwell_3d.SetNativeMacroContext(native_macro_context);
BindNvkDefaultSubchannels(*payload);
initialized = true;
}
diff --git a/src/video_core/control/channel_state.h b/src/video_core/control/channel_state.h
index 9f64f4bfe3..80811c1458 100644
--- a/src/video_core/control/channel_state.h
+++ b/src/video_core/control/channel_state.h
@@ -56,15 +56,12 @@ struct ChannelState {
Engines::Nv01Timer nv01_timer;
DmaPusher dma_pusher;
};
- std::shared_ptr<NativeMacroContext> native_macro_context;
- std::shared_ptr<MemoryManager> memory_manager_owner;
std::optional<Payload> payload;
MemoryManager* memory_manager = nullptr;
s32 bind_id = -1;
u64 program_id = 0;
bool initialized = false;
- bool native_abi = false;
};
} // namespace Control
diff --git a/src/video_core/control/scheduler.cpp b/src/video_core/control/scheduler.cpp
index 5f8a830c83..8af13e415c 100644
--- a/src/video_core/control/scheduler.cpp
+++ b/src/video_core/control/scheduler.cpp
@@ -4,9 +4,7 @@
// SPDX-FileCopyrightText: 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
-#include <algorithm>
#include <memory>
-#include <vector>
#include "common/assert.h"
#include "video_core/control/channel_state.h"
@@ -28,26 +26,6 @@ void Scheduler::Push(GPU& gpu, s32 channel, CommandList&& entries) {
// Multiple channels can prepare their commands in parallel.
channel_state->payload->dma_pusher.Push(std::move(entries));
channel_state->payload->dma_pusher.DispatchCalls();
- if (channel_state->payload->dma_pusher.HasPendingNativeAcquire() &&
- std::find(pending_native_channels.begin(), pending_native_channels.end(), channel_state) == pending_native_channels.end()) {
- pending_native_channels.push_back(channel_state);
- }
- if (!pending_native_channels.empty()) ResumePending(gpu);
-}
-
-void Scheduler::ResumePending(GPU& gpu) {
- ResumeReadyNativeChannels(pending_native_channels,
- [](const auto& state) { return state->payload->dma_pusher.HasPendingNativeAcquire() &&
- state->payload->dma_pusher.CanResumeNativeAcquire(); },
- [&](const auto& state) {
- {
- std::scoped_lock lock{scheduling_guard};
- gpu.BindChannel(state->bind_id);
- }
- state->payload->dma_pusher.DispatchCalls();
- });
- std::erase_if(pending_native_channels,
- [](const auto& state) { return !state->payload->dma_pusher.HasPendingNativeAcquire(); });
}
void Scheduler::DeclareChannel(std::shared_ptr<ChannelState> new_channel) {
diff --git a/src/video_core/control/scheduler.h b/src/video_core/control/scheduler.h
index b6e9544ca0..342bea5025 100644
--- a/src/video_core/control/scheduler.h
+++ b/src/video_core/control/scheduler.h
@@ -8,7 +8,6 @@
#include <memory>
#include <mutex>
-#include <vector>
#include "common/container/unordered_map.h"
#include "video_core/dma_pusher.h"
@@ -25,15 +24,11 @@ class Scheduler {
public:
void Push(GPU& gpu, s32 channel, CommandList&& entries);
- void ResumePending(GPU& gpu);
- [[nodiscard]] bool HasPendingNativeChannels() const { return !pending_native_channels.empty(); }
-
void DeclareChannel(std::shared_ptr<ChannelState> new_channel);
private:
::Common::unordered_map<s32, std::shared_ptr<ChannelState>> channels;
std::mutex scheduling_guard;
- std::vector<std::shared_ptr<ChannelState>> pending_native_channels;
};
} // namespace Control