diff options
| author | 2019-10-12 09:17:56 -0400 | |
|---|---|---|
| committer | 2019-10-12 09:17:56 -0400 | |
| commit | 574440d59fccba286a90f97d90d92dbe148440d3 (patch) | |
| tree | 8e1e6333b9acdb0055e597ed78ae10d56a90d6c2 /src | |
| parent | Merge pull request #2910 from FearlessTobi/port-4930 (diff) | |
| download | yuzu-574440d59fccba286a90f97d90d92dbe148440d3.tar.gz yuzu-574440d59fccba286a90f97d90d92dbe148440d3.tar.xz yuzu-574440d59fccba286a90f97d90d92dbe148440d3.zip | |
nvflinger/buffer_queue: Remove use of a global system accessor
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/nvflinger/buffer_queue.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/nvflinger/buffer_queue.h | 6 | ||||
| -rw-r--r-- | src/core/hle/service/nvflinger/nvflinger.cpp | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hle/service/nvflinger/buffer_queue.cpp b/src/core/hle/service/nvflinger/buffer_queue.cpp index e1a07d3ee..55b68eb0c 100644 --- a/src/core/hle/service/nvflinger/buffer_queue.cpp +++ b/src/core/hle/service/nvflinger/buffer_queue.cpp | |||
| @@ -14,8 +14,8 @@ | |||
| 14 | 14 | ||
| 15 | namespace Service::NVFlinger { | 15 | namespace Service::NVFlinger { |
| 16 | 16 | ||
| 17 | BufferQueue::BufferQueue(u32 id, u64 layer_id) : id(id), layer_id(layer_id) { | 17 | BufferQueue::BufferQueue(Kernel::KernelCore& kernel, u32 id, u64 layer_id) |
| 18 | auto& kernel = Core::System::GetInstance().Kernel(); | 18 | : id(id), layer_id(layer_id) { |
| 19 | buffer_wait_event = Kernel::WritableEvent::CreateEventPair(kernel, Kernel::ResetType::Manual, | 19 | buffer_wait_event = Kernel::WritableEvent::CreateEventPair(kernel, Kernel::ResetType::Manual, |
| 20 | "BufferQueue NativeHandle"); | 20 | "BufferQueue NativeHandle"); |
| 21 | } | 21 | } |
diff --git a/src/core/hle/service/nvflinger/buffer_queue.h b/src/core/hle/service/nvflinger/buffer_queue.h index 356bedb81..8f9b18547 100644 --- a/src/core/hle/service/nvflinger/buffer_queue.h +++ b/src/core/hle/service/nvflinger/buffer_queue.h | |||
| @@ -15,6 +15,10 @@ | |||
| 15 | #include "core/hle/kernel/writable_event.h" | 15 | #include "core/hle/kernel/writable_event.h" |
| 16 | #include "core/hle/service/nvdrv/nvdata.h" | 16 | #include "core/hle/service/nvdrv/nvdata.h" |
| 17 | 17 | ||
| 18 | namespace Kernel { | ||
| 19 | class KernelCore; | ||
| 20 | } | ||
| 21 | |||
| 18 | namespace Service::NVFlinger { | 22 | namespace Service::NVFlinger { |
| 19 | 23 | ||
| 20 | struct IGBPBuffer { | 24 | struct IGBPBuffer { |
| @@ -44,7 +48,7 @@ public: | |||
| 44 | NativeWindowFormat = 2, | 48 | NativeWindowFormat = 2, |
| 45 | }; | 49 | }; |
| 46 | 50 | ||
| 47 | BufferQueue(u32 id, u64 layer_id); | 51 | explicit BufferQueue(Kernel::KernelCore& kernel, u32 id, u64 layer_id); |
| 48 | ~BufferQueue(); | 52 | ~BufferQueue(); |
| 49 | 53 | ||
| 50 | enum class BufferTransformFlags : u32 { | 54 | enum class BufferTransformFlags : u32 { |
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp index 2e4d707b9..368f83f6c 100644 --- a/src/core/hle/service/nvflinger/nvflinger.cpp +++ b/src/core/hle/service/nvflinger/nvflinger.cpp | |||
| @@ -83,7 +83,7 @@ std::optional<u64> NVFlinger::CreateLayer(u64 display_id) { | |||
| 83 | 83 | ||
| 84 | const u64 layer_id = next_layer_id++; | 84 | const u64 layer_id = next_layer_id++; |
| 85 | const u32 buffer_queue_id = next_buffer_queue_id++; | 85 | const u32 buffer_queue_id = next_buffer_queue_id++; |
| 86 | buffer_queues.emplace_back(buffer_queue_id, layer_id); | 86 | buffer_queues.emplace_back(system.Kernel(), buffer_queue_id, layer_id); |
| 87 | display->CreateLayer(layer_id, buffer_queues.back()); | 87 | display->CreateLayer(layer_id, buffer_queues.back()); |
| 88 | return layer_id; | 88 | return layer_id; |
| 89 | } | 89 | } |