hle: nvflinger: Add implementation for Fence class.
This commit is contained in:
parent
d47575f2c5
commit
8c27465325
|
@ -539,6 +539,8 @@ add_library(core STATIC
|
||||||
hle/service/nvflinger/buffer_queue.h
|
hle/service/nvflinger/buffer_queue.h
|
||||||
hle/service/nvflinger/nvflinger.cpp
|
hle/service/nvflinger/nvflinger.cpp
|
||||||
hle/service/nvflinger/nvflinger.h
|
hle/service/nvflinger/nvflinger.h
|
||||||
|
hle/service/nvflinger/status.h
|
||||||
|
hle/service/nvflinger/ui/fence.h
|
||||||
hle/service/nvflinger/ui/rect.h
|
hle/service/nvflinger/ui/rect.h
|
||||||
hle/service/olsc/olsc.cpp
|
hle/service/olsc/olsc.cpp
|
||||||
hle/service/olsc/olsc.h
|
hle/service/olsc/olsc.h
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// Copyright 2021 yuzu Emulator Project
|
||||||
|
// Copyright 2012 The Android Open Source Project
|
||||||
|
// Parts of this implementation were base on:
|
||||||
|
// https://cs.android.com/android/platform/superproject/+/android-5.1.1_r38:frameworks/native/include/ui/Fence.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
|
||||||
|
#include "common/common_types.h"
|
||||||
|
#include "core/hle/service/nvdrv/nvdata.h"
|
||||||
|
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
class Fence {
|
||||||
|
public:
|
||||||
|
constexpr Fence() = default;
|
||||||
|
|
||||||
|
static constexpr Fence NoFence() {
|
||||||
|
Fence fence;
|
||||||
|
fence.fences[0].id = -1;
|
||||||
|
return fence;
|
||||||
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
u32 num_fences{};
|
||||||
|
std::array<Service::Nvidia::NvFence, 4> fences{};
|
||||||
|
};
|
||||||
|
static_assert(sizeof(Fence) == 36, "Fence has wrong size");
|
||||||
|
|
||||||
|
} // namespace android
|
Reference in New Issue