diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2022-10-25 06:45:51 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-25 06:45:51 -0400 |
| commit | 3c38bd7cf0dbe73f72c008cb6fc0df38b50dc986 (patch) | |
| tree | 94deaac51d8ca9abd7c9b3f4bce3a420c6ab8ac8 /src/core/hle/service/nvflinger/nvflinger.cpp | |
| parent | cbb6c24215aa0d5c0e620ff75f29a19275521a43 (diff) | |
| parent | 2d90a927c9f7652aa7e259ba57fa22ddbf8bed24 (diff) | |
Merge pull request #9119 from liamwhite/shutdown-barrier
core: barrier service thread shutdown
Diffstat (limited to 'src/core/hle/service/nvflinger/nvflinger.cpp')
| -rw-r--r-- | src/core/hle/service/nvflinger/nvflinger.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp index aa14d2cbc..dad93b38e 100644 --- a/src/core/hle/service/nvflinger/nvflinger.cpp +++ b/src/core/hle/service/nvflinger/nvflinger.cpp @@ -102,15 +102,19 @@ NVFlinger::~NVFlinger() { system.CoreTiming().UnscheduleEvent(single_composition_event, {}); } + ShutdownLayers(); + + if (nvdrv) { + nvdrv->Close(disp_fd); + } +} + +void NVFlinger::ShutdownLayers() { for (auto& display : displays) { for (size_t layer = 0; layer < display.GetNumLayers(); ++layer) { display.GetLayer(layer).Core().NotifyShutdown(); } } - - if (nvdrv) { - nvdrv->Close(disp_fd); - } } void NVFlinger::SetNVDrvInstance(std::shared_ptr<Nvidia::Module> instance) { |
