aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/vi/layer
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-12-16 13:57:42 -0500
committerGitHub <noreply@github.com>2023-12-16 13:57:42 -0500
commit4bf1f217ae28357e753f7e9cadd0a1baf05d2192 (patch)
treee79b98addebcfb55e228248571891bf5ccc25706 /src/core/hle/service/vi/layer
parenta093f3d47a418e1eeb7ea091f4950bfd0e1ee028 (diff)
parentadc307961357243a67ed4400d18ec9979a0c55db (diff)
Merge pull request #12331 from liamwhite/layer-confusion
vi: fix confusion between closing and destroying layers
Diffstat (limited to 'src/core/hle/service/vi/layer')
-rw-r--r--src/core/hle/service/vi/layer/vi_layer.cpp4
-rw-r--r--src/core/hle/service/vi/layer/vi_layer.h13
2 files changed, 15 insertions, 2 deletions
diff --git a/src/core/hle/service/vi/layer/vi_layer.cpp b/src/core/hle/service/vi/layer/vi_layer.cpp
index 9ae2e0e44..04e52a23b 100644
--- a/src/core/hle/service/vi/layer/vi_layer.cpp
+++ b/src/core/hle/service/vi/layer/vi_layer.cpp
@@ -8,8 +8,8 @@ namespace Service::VI {
Layer::Layer(u64 layer_id_, u32 binder_id_, android::BufferQueueCore& core_,
android::BufferQueueProducer& binder_,
std::shared_ptr<android::BufferItemConsumer>&& consumer_)
- : layer_id{layer_id_}, binder_id{binder_id_}, core{core_}, binder{binder_}, consumer{std::move(
- consumer_)} {}
+ : layer_id{layer_id_}, binder_id{binder_id_}, core{core_}, binder{binder_},
+ consumer{std::move(consumer_)}, open{false} {}
Layer::~Layer() = default;
diff --git a/src/core/hle/service/vi/layer/vi_layer.h b/src/core/hle/service/vi/layer/vi_layer.h
index 8cf1b5275..295005e23 100644
--- a/src/core/hle/service/vi/layer/vi_layer.h
+++ b/src/core/hle/service/vi/layer/vi_layer.h
@@ -71,12 +71,25 @@ public:
return core;
}
+ bool IsOpen() const {
+ return open;
+ }
+
+ void Close() {
+ open = false;
+ }
+
+ void Open() {
+ open = true;
+ }
+
private:
const u64 layer_id;
const u32 binder_id;
android::BufferQueueCore& core;
android::BufferQueueProducer& binder;
std::shared_ptr<android::BufferItemConsumer> consumer;
+ bool open;
};
} // namespace Service::VI