diff options
author | bunnei <bunneidev@gmail.com> | 2021-04-17 08:14:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-17 08:14:44 +0200 |
commit | 9ad77ba6d388c93b8f2258d6faab8b68342742ff (patch) | |
tree | d7f9fe69b8ed0504f7285d000d6c5e7c570870c3 /src/video_core/gpu.cpp | |
parent | Merge pull request #6133 from Morph1984/project-eleuthia (diff) | |
parent | Address issues (diff) | |
download | yuzu-9ad77ba6d388c93b8f2258d6faab8b68342742ff.tar yuzu-9ad77ba6d388c93b8f2258d6faab8b68342742ff.tar.gz yuzu-9ad77ba6d388c93b8f2258d6faab8b68342742ff.tar.bz2 yuzu-9ad77ba6d388c93b8f2258d6faab8b68342742ff.tar.lz yuzu-9ad77ba6d388c93b8f2258d6faab8b68342742ff.tar.xz yuzu-9ad77ba6d388c93b8f2258d6faab8b68342742ff.tar.zst yuzu-9ad77ba6d388c93b8f2258d6faab8b68342742ff.zip |
Diffstat (limited to 'src/video_core/gpu.cpp')
-rw-r--r-- | src/video_core/gpu.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index 9bdb282d2..7c42f1177 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp @@ -480,11 +480,7 @@ void GPU::PushCommandBuffer(Tegra::ChCommandHeaderList& entries) { if (!use_nvdec) { return; } - // This condition fires when a video stream ends, clear all intermediary data - if (entries[0].raw == 0xDEADB33F) { - cdma_pusher.reset(); - return; - } + if (!cdma_pusher) { cdma_pusher = std::make_unique<Tegra::CDmaPusher>(*this); } @@ -496,6 +492,12 @@ void GPU::PushCommandBuffer(Tegra::ChCommandHeaderList& entries) { cdma_pusher->ProcessEntries(std::move(entries)); } +void GPU::ClearCommandBuffer() { + // This condition fires when a video stream ends, clear all intermediary data + cdma_pusher.reset(); + LOG_INFO(Service_NVDRV, "NVDEC video stream ended"); +} + void GPU::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { gpu_thread.SwapBuffers(framebuffer); } |