diff options
| author | 2023-12-30 23:08:55 +0100 | |
|---|---|---|
| committer | 2024-01-18 21:12:30 -0500 | |
| commit | b0bca0f8b04de630f9dec47cff14a640d40f65db (patch) | |
| tree | c1723cc631a573340e1393aa81939fa1ce5dfad0 /src/core/hle/service/nvnflinger | |
| parent | SMMU: Add continuity tracking optimization. (diff) | |
| download | yuzu-b0bca0f8b04de630f9dec47cff14a640d40f65db.tar.gz yuzu-b0bca0f8b04de630f9dec47cff14a640d40f65db.tar.xz yuzu-b0bca0f8b04de630f9dec47cff14a640d40f65db.zip | |
SMMU: Fix software rendering and cleanup
Diffstat (limited to 'src/core/hle/service/nvnflinger')
| -rw-r--r-- | src/core/hle/service/nvnflinger/ui/graphic_buffer.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/hle/service/nvnflinger/ui/graphic_buffer.cpp b/src/core/hle/service/nvnflinger/ui/graphic_buffer.cpp index ce70946ec..ede2a1193 100644 --- a/src/core/hle/service/nvnflinger/ui/graphic_buffer.cpp +++ b/src/core/hle/service/nvnflinger/ui/graphic_buffer.cpp | |||
| @@ -22,11 +22,13 @@ GraphicBuffer::GraphicBuffer(Service::Nvidia::NvCore::NvMap& nvmap, | |||
| 22 | : NvGraphicBuffer(GetBuffer(buffer)), m_nvmap(std::addressof(nvmap)) { | 22 | : NvGraphicBuffer(GetBuffer(buffer)), m_nvmap(std::addressof(nvmap)) { |
| 23 | if (this->BufferId() > 0) { | 23 | if (this->BufferId() > 0) { |
| 24 | m_nvmap->DuplicateHandle(this->BufferId(), true); | 24 | m_nvmap->DuplicateHandle(this->BufferId(), true); |
| 25 | m_nvmap->PinHandle(this->BufferId(), false); | ||
| 25 | } | 26 | } |
| 26 | } | 27 | } |
| 27 | 28 | ||
| 28 | GraphicBuffer::~GraphicBuffer() { | 29 | GraphicBuffer::~GraphicBuffer() { |
| 29 | if (m_nvmap != nullptr && this->BufferId() > 0) { | 30 | if (m_nvmap != nullptr && this->BufferId() > 0) { |
| 31 | m_nvmap->UnpinHandle(this->BufferId()); | ||
| 30 | m_nvmap->FreeHandle(this->BufferId(), true); | 32 | m_nvmap->FreeHandle(this->BufferId(), true); |
| 31 | } | 33 | } |
| 32 | } | 34 | } |