diff options
| author | 2021-03-30 20:37:40 +1100 | |
|---|---|---|
| committer | 2021-03-30 20:37:40 +1100 | |
| commit | bf1c1788cab4740d8c46c30ad8a97021b2e858f9 (patch) | |
| tree | 3d3228a9369adcfe1db58c698b4ba84e86376300 /src/video_core/gpu.cpp | |
| parent | Merge pull request #6109 from german77/gestureID (diff) | |
| download | yuzu-bf1c1788cab4740d8c46c30ad8a97021b2e858f9.tar.gz yuzu-bf1c1788cab4740d8c46c30ad8a97021b2e858f9.tar.xz yuzu-bf1c1788cab4740d8c46c30ad8a97021b2e858f9.zip | |
nvdrv: Cleanup CDMA Processor on device closure
Brings us a step closer to unifying all channels to share a common interface.
Diffstat (limited to 'src/video_core/gpu.cpp')
| -rw-r--r-- | src/video_core/gpu.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index c61f44619..811e248a3 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp | |||
| @@ -480,11 +480,7 @@ void GPU::PushCommandBuffer(Tegra::ChCommandHeaderList& entries) { | |||
| 480 | if (!use_nvdec) { | 480 | if (!use_nvdec) { |
| 481 | return; | 481 | return; |
| 482 | } | 482 | } |
| 483 | // This condition fires when a video stream ends, clear all intermediary data | 483 | |
| 484 | if (entries[0].raw == 0xDEADB33F) { | ||
| 485 | cdma_pusher.reset(); | ||
| 486 | return; | ||
| 487 | } | ||
| 488 | if (!cdma_pusher) { | 484 | if (!cdma_pusher) { |
| 489 | cdma_pusher = std::make_unique<Tegra::CDmaPusher>(*this); | 485 | cdma_pusher = std::make_unique<Tegra::CDmaPusher>(*this); |
| 490 | } | 486 | } |
| @@ -496,6 +492,13 @@ void GPU::PushCommandBuffer(Tegra::ChCommandHeaderList& entries) { | |||
| 496 | cdma_pusher->ProcessEntries(std::move(entries)); | 492 | cdma_pusher->ProcessEntries(std::move(entries)); |
| 497 | } | 493 | } |
| 498 | 494 | ||
| 495 | void GPU::ClearCommandBuffer() { | ||
| 496 | // This condition fires when a video stream ends, clear all intermediary data | ||
| 497 | if (cdma_pusher) { | ||
| 498 | cdma_pusher.reset(); | ||
| 499 | } | ||
| 500 | } | ||
| 501 | |||
| 499 | void GPU::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { | 502 | void GPU::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { |
| 500 | gpu_thread.SwapBuffers(framebuffer); | 503 | gpu_thread.SwapBuffers(framebuffer); |
| 501 | } | 504 | } |