|
|
|
@ -0,0 +1,32 @@ |
|
|
|
// Copyright 2018 yuzu emulator team
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include "common/assert.h"
|
|
|
|
#include "common/logging/log.h"
|
|
|
|
#include "core/hle/service/nvdrv/devices/nvhost_nvdec.h"
|
|
|
|
|
|
|
|
namespace Service::Nvidia::Devices { |
|
|
|
|
|
|
|
u32 nvhost_nvdec::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
|
NGLOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}", |
|
|
|
command.raw, input.size(), output.size()); |
|
|
|
|
|
|
|
switch (static_cast<IoctlCommand>(command.raw)) { |
|
|
|
case IoctlCommand::IocSetNVMAPfdCommand: |
|
|
|
return SetNVMAPfd(input, output); |
|
|
|
} |
|
|
|
|
|
|
|
UNIMPLEMENTED_MSG("Unimplemented ioctl"); |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
u32 nvhost_nvdec::SetNVMAPfd(const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
|
IoctlSetNvmapFD params{}; |
|
|
|
std::memcpy(¶ms, input.data(), input.size()); |
|
|
|
NGLOG_DEBUG(Service_NVDRV, "called, fd={}", params.nvmap_fd); |
|
|
|
nvmap_fd = params.nvmap_fd; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace Service::Nvidia::Devices
|