hle: nvflinger: Add implementation for BufferSlot class.
This commit is contained in:
parent
c723db39c7
commit
d25cb12bff
|
@ -540,6 +540,7 @@ add_library(core STATIC
|
||||||
hle/service/nvflinger/binder.h
|
hle/service/nvflinger/binder.h
|
||||||
hle/service/nvflinger/buffer_item.h
|
hle/service/nvflinger/buffer_item.h
|
||||||
hle/service/nvflinger/buffer_queue_defs.h
|
hle/service/nvflinger/buffer_queue_defs.h
|
||||||
|
hle/service/nvflinger/buffer_slot.h
|
||||||
hle/service/nvflinger/buffer_transform_flags.h
|
hle/service/nvflinger/buffer_transform_flags.h
|
||||||
hle/service/nvflinger/consumer_listener.h
|
hle/service/nvflinger/consumer_listener.h
|
||||||
hle/service/nvflinger/nvflinger.cpp
|
hle/service/nvflinger/nvflinger.cpp
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// Copyright 2021 yuzu Emulator Project
|
||||||
|
// Copyright 2014 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/gui/BufferSlot.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
#include "common/common_types.h"
|
||||||
|
#include "core/hle/service/nvflinger/ui/fence.h"
|
||||||
|
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
class GraphicBuffer;
|
||||||
|
|
||||||
|
enum class BufferState : u32 {
|
||||||
|
Free = 0,
|
||||||
|
Dequeued = 1,
|
||||||
|
Queued = 2,
|
||||||
|
Acquired = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct BufferSlot final {
|
||||||
|
constexpr BufferSlot() = default;
|
||||||
|
|
||||||
|
std::shared_ptr<GraphicBuffer> graphic_buffer;
|
||||||
|
BufferState buffer_state{BufferState::Free};
|
||||||
|
bool request_buffer_called{};
|
||||||
|
u64 frame_number{};
|
||||||
|
Fence fence;
|
||||||
|
bool acquire_called{};
|
||||||
|
bool needs_cleanup_on_release{};
|
||||||
|
bool attached_by_consumer{};
|
||||||
|
bool is_preallocated{};
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace android
|
Reference in New Issue