diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-29 03:39:29 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-29 03:39:29 -0400 |
| commit | ea6c1193fbfa95e586bb6d129dc684163a12cb3e (patch) | |
| tree | e4d23143900184630deeabe27eab1321dac4a428 /src/video_core/control | |
| parent | 0bb5055b6541c74f47603a8dff0569a509cbaf18 (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.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/control/channel_state.h | 3 | ||||
| -rw-r--r-- | src/video_core/control/scheduler.cpp | 22 | ||||
| -rw-r--r-- | src/video_core/control/scheduler.h | 5 |
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 |
