diff options
Diffstat (limited to 'src/core/hle/service/vi/container.cpp')
| -rw-r--r-- | src/core/hle/service/vi/container.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/core/hle/service/vi/container.cpp b/src/core/hle/service/vi/container.cpp index e7255c2b0a..9c45f6435b 100644 --- a/src/core/hle/service/vi/container.cpp +++ b/src/core/hle/service/vi/container.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project @@ -166,6 +166,16 @@ Result Container::GetLayerZIndex(u64 layer_id, s32* out_z_index) { R_RETURN(VI::ResultNotFound); } +Result Container::SetLayerStackMask(u64 layer_id, u32 layer_stack_mask) { + std::scoped_lock lk{m_lock}; + + auto* const layer = m_layers.GetLayerById(layer_id); + R_UNLESS(layer != nullptr, VI::ResultNotFound); + + m_surface_flinger->SetLayerStackMask(layer->GetConsumerBinderId(), layer_stack_mask); + R_SUCCEED(); +} + Result Container::SetLayerIsOverlay(u64 layer_id, bool is_overlay) { std::scoped_lock lk{m_lock}; |
