hle: nvflinger: Add IBinder interface.

This commit is contained in:
bunnei 2021-11-11 18:35:28 -08:00
parent b9cbc708e8
commit fe9945ad6c
2 changed files with 43 additions and 0 deletions

View file

@ -537,6 +537,7 @@ add_library(core STATIC
hle/service/nvdrv/syncpoint_manager.h
hle/service/nvflinger/buffer_queue.cpp
hle/service/nvflinger/buffer_queue.h
hle/service/nvflinger/binder.h
hle/service/nvflinger/buffer_transform_flags.h
hle/service/nvflinger/consumer_listener.h
hle/service/nvflinger/nvflinger.cpp

View file

@ -0,0 +1,42 @@
// 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/binder/IBinder.h
#pragma once
#include "common/common_types.h"
namespace Kernel {
class HLERequestContext;
class KReadableEvent;
} // namespace Kernel
namespace android {
enum class TransactionId {
RequestBuffer = 1,
SetBufferCount = 2,
DequeueBuffer = 3,
DetachBuffer = 4,
DetachNextBuffer = 5,
AttachBuffer = 6,
QueueBuffer = 7,
CancelBuffer = 8,
Query = 9,
Connect = 10,
Disconnect = 11,
AllocateBuffers = 13,
SetPreallocatedBuffer = 14,
GetBufferHistory = 17,
};
class IBinder {
public:
virtual void Transact(Kernel::HLERequestContext& ctx, android::TransactionId code,
u32 flags) = 0;
virtual Kernel::KReadableEvent& GetNativeHandle() = 0;
};
} // namespace android