diff options
author | ameerj <[email protected]> | 2021-02-28 22:03:00 -0500 |
---|---|---|
committer | ameerj <[email protected]> | 2021-02-28 22:03:00 -0500 |
commit | 52e9d7fa49c1da30ece8909d80e3aeafeda2760e (patch) | |
tree | 39ae6f5764683db4ad4b04a36041ee7272f77246 /src/video_core/gpu_thread.cpp | |
parent | 9e9341f4b4c4165970252b73d4b02b8661fbc0b8 (diff) | |
download | yuzu-android-52e9d7fa49c1da30ece8909d80e3aeafeda2760e.tar.gz yuzu-android-52e9d7fa49c1da30ece8909d80e3aeafeda2760e.zip |
gpu_thread: Remove Async NVDEC placeholders
This commit removes early placeholders for an implementation of async nvdec. With recent changes to the source code, the placeholders are no longer accurate, and can cause a nullptr dereference due to the nature of the cdma_pusher lifetime.
Diffstat (limited to 'src/video_core/gpu_thread.cpp')
-rw-r--r-- | src/video_core/gpu_thread.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/video_core/gpu_thread.cpp b/src/video_core/gpu_thread.cpp index eb0e43c0c..99353f15f 100644 --- a/src/video_core/gpu_thread.cpp +++ b/src/video_core/gpu_thread.cpp @@ -19,7 +19,7 @@ namespace VideoCommon::GPUThread { /// Runs the GPU thread static void RunThread(Core::System& system, VideoCore::RendererBase& renderer, Core::Frontend::GraphicsContext& context, Tegra::DmaPusher& dma_pusher, - SynchState& state, Tegra::CDmaPusher& cdma_pusher) { + SynchState& state) { std::string name = "yuzu:GPU"; MicroProfileOnThreadCreate(name.c_str()); SCOPE_EXIT({ MicroProfileOnThreadExit(); }); @@ -46,9 +46,6 @@ static void RunThread(Core::System& system, VideoCore::RendererBase& renderer, if (auto* submit_list = std::get_if<SubmitListCommand>(&next.data)) { dma_pusher.Push(std::move(submit_list->entries)); dma_pusher.DispatchCalls(); - } else if (auto* command_list = std::get_if<SubmitChCommandEntries>(&next.data)) { - // NVDEC - cdma_pusher.ProcessEntries(std::move(command_list->entries)); } else if (const auto* data = std::get_if<SwapBuffersCommand>(&next.data)) { renderer.SwapBuffers(data->framebuffer ? &*data->framebuffer : nullptr); } else if (std::holds_alternative<OnCommandListEndCommand>(next.data)) { @@ -83,20 +80,16 @@ ThreadManager::~ThreadManager() { void ThreadManager::StartThread(VideoCore::RendererBase& renderer, Core::Frontend::GraphicsContext& context, - Tegra::DmaPusher& dma_pusher, Tegra::CDmaPusher& cdma_pusher) { + Tegra::DmaPusher& dma_pusher) { rasterizer = renderer.ReadRasterizer(); thread = std::thread(RunThread, std::ref(system), std::ref(renderer), std::ref(context), - std::ref(dma_pusher), std::ref(state), std::ref(cdma_pusher)); + std::ref(dma_pusher), std::ref(state)); } void ThreadManager::SubmitList(Tegra::CommandList&& entries) { PushCommand(SubmitListCommand(std::move(entries))); } -void ThreadManager::SubmitCommandBuffer(Tegra::ChCommandHeaderList&& entries) { - PushCommand(SubmitChCommandEntries(std::move(entries))); -} - void ThreadManager::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { PushCommand(SwapBuffersCommand(framebuffer ? std::make_optional(*framebuffer) : std::nullopt)); } |