forked from suyu/suyu
39 lines
947 B
C
39 lines
947 B
C
|
// Copyright 2018 yuzu emulator team
|
||
|
// Licensed under GPLv2 or any later version
|
||
|
// Refer to the license.txt file included.
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <array>
|
||
|
#include <cstdlib>
|
||
|
#include <cstring>
|
||
|
#include <vector>
|
||
|
#include "common/common_types.h"
|
||
|
#include "core/hle/service/nvdrv/devices/nvdevice.h"
|
||
|
|
||
|
namespace Service::Nvidia::Devices {
|
||
|
|
||
|
class nvhost_nvdec final : public nvdevice {
|
||
|
public:
|
||
|
nvhost_nvdec() = default;
|
||
|
~nvhost_nvdec() override = default;
|
||
|
|
||
|
u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
|
||
|
|
||
|
private:
|
||
|
enum class IoctlCommand : u32_le {
|
||
|
IocSetNVMAPfdCommand = 0x40044801,
|
||
|
};
|
||
|
|
||
|
struct IoctlSetNvmapFD {
|
||
|
u32_le nvmap_fd;
|
||
|
};
|
||
|
static_assert(sizeof(IoctlSetNvmapFD) == 4, "IoctlSetNvmapFD is incorrect size");
|
||
|
|
||
|
u32_le nvmap_fd{};
|
||
|
|
||
|
u32 SetNVMAPfd(const std::vector<u8>& input, std::vector<u8>& output);
|
||
|
};
|
||
|
|
||
|
} // namespace Service::Nvidia::Devices
|