diff options
| author | bunnei <bunneidev@gmail.com> | 2018-08-08 11:58:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-08 11:58:45 -0400 |
| commit | 448264e7195ef3075b39ea6aa410818ff956cf96 (patch) | |
| tree | 1acd49ca071c8a0433a68bd875fec2814c7f8723 /src/core/hle/service/nvflinger/nvflinger.cpp | |
| parent | f156a45c0155c7fe227dfb74a92d797e3d3f2032 (diff) | |
| parent | d378d98e2628f83fa56242ec6b53e3cce7c6bb56 (diff) | |
Merge pull request #958 from lioncash/nv-global
nvdrv: Get rid of global std::weak_ptr
Diffstat (limited to 'src/core/hle/service/nvflinger/nvflinger.cpp')
| -rw-r--r-- | src/core/hle/service/nvflinger/nvflinger.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp index 570aa8493..a26a5f812 100644 --- a/src/core/hle/service/nvflinger/nvflinger.cpp +++ b/src/core/hle/service/nvflinger/nvflinger.cpp @@ -46,6 +46,10 @@ NVFlinger::~NVFlinger() { CoreTiming::UnscheduleEvent(composition_event, 0); } +void NVFlinger::SetNVDrvInstance(std::shared_ptr<Nvidia::Module> instance) { + nvdrv = std::move(instance); +} + u64 NVFlinger::OpenDisplay(std::string_view name) { LOG_WARNING(Service, "Opening display {}", name); @@ -141,9 +145,6 @@ void NVFlinger::Compose() { auto& igbp_buffer = buffer->igbp_buffer; // Now send the buffer to the GPU for drawing. - auto nvdrv = Nvidia::nvdrv.lock(); - ASSERT(nvdrv); - // TODO(Subv): Support more than just disp0. The display device selection is probably based // on which display we're drawing (Default, Internal, External, etc) auto nvdisp = nvdrv->GetDevice<Nvidia::Devices::nvdisp_disp0>("/dev/nvdisp_disp0"); |
