summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/vi/layer
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2024-02-12 03:58:28 +0100
committerGitHub <noreply@github.com>2024-02-12 03:58:28 +0100
commit2ff45cd0da941dce2564f5c18c580d0283da27bf (patch)
tree81fea8c23f9afa39c167288e03ff57eb25413ee4 /src/core/hle/service/vi/layer
parentMerge pull request #12991 from german77/news2 (diff)
parentam: use applet program loading for tested versions (diff)
downloadyuzu-2ff45cd0da941dce2564f5c18c580d0283da27bf.tar
yuzu-2ff45cd0da941dce2564f5c18c580d0283da27bf.tar.gz
yuzu-2ff45cd0da941dce2564f5c18c580d0283da27bf.tar.bz2
yuzu-2ff45cd0da941dce2564f5c18c580d0283da27bf.tar.lz
yuzu-2ff45cd0da941dce2564f5c18c580d0283da27bf.tar.xz
yuzu-2ff45cd0da941dce2564f5c18c580d0283da27bf.tar.zst
yuzu-2ff45cd0da941dce2564f5c18c580d0283da27bf.zip
Diffstat (limited to 'src/core/hle/service/vi/layer')
-rw-r--r--src/core/hle/service/vi/layer/vi_layer.cpp6
-rw-r--r--src/core/hle/service/vi/layer/vi_layer.h13
2 files changed, 17 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 493bd6e9e..eca35d82a 100644
--- a/src/core/hle/service/vi/layer/vi_layer.cpp
+++ b/src/core/hle/service/vi/layer/vi_layer.cpp
@@ -1,6 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+#include "core/hle/service/nvnflinger/hwc_layer.h"
#include "core/hle/service/vi/layer/vi_layer.h"
namespace Service::VI {
@@ -8,8 +9,9 @@ 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_)}, open{false}, visible{true} {}
+ : layer_id{layer_id_}, binder_id{binder_id_}, core{core_}, binder{binder_}, consumer{std::move(
+ consumer_)},
+ blending{Nvnflinger::LayerBlending::None}, open{false}, visible{true} {}
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 b4b031ee7..14e229903 100644
--- a/src/core/hle/service/vi/layer/vi_layer.h
+++ b/src/core/hle/service/vi/layer/vi_layer.h
@@ -14,6 +14,10 @@ class BufferQueueCore;
class BufferQueueProducer;
} // namespace Service::android
+namespace Service::Nvnflinger {
+enum class LayerBlending : u32;
+}
+
namespace Service::VI {
/// Represents a single display layer.
@@ -92,12 +96,21 @@ public:
return !std::exchange(open, true);
}
+ Nvnflinger::LayerBlending GetBlending() {
+ return blending;
+ }
+
+ void SetBlending(Nvnflinger::LayerBlending b) {
+ blending = b;
+ }
+
private:
const u64 layer_id;
const u32 binder_id;
android::BufferQueueCore& core;
android::BufferQueueProducer& binder;
std::shared_ptr<android::BufferItemConsumer> consumer;
+ Service::Nvnflinger::LayerBlending blending;
bool open;
bool visible;
};