summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2019-10-12 09:17:56 -0400
committerGravatar Lioncash2019-10-12 09:17:56 -0400
commit574440d59fccba286a90f97d90d92dbe148440d3 (patch)
tree8e1e6333b9acdb0055e597ed78ae10d56a90d6c2 /src
parentMerge pull request #2910 from FearlessTobi/port-4930 (diff)
downloadyuzu-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.cpp4
-rw-r--r--src/core/hle/service/nvflinger/buffer_queue.h6
-rw-r--r--src/core/hle/service/nvflinger/nvflinger.cpp2
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
15namespace Service::NVFlinger { 15namespace Service::NVFlinger {
16 16
17BufferQueue::BufferQueue(u32 id, u64 layer_id) : id(id), layer_id(layer_id) { 17BufferQueue::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
18namespace Kernel {
19class KernelCore;
20}
21
18namespace Service::NVFlinger { 22namespace Service::NVFlinger {
19 23
20struct IGBPBuffer { 24struct 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}