summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-12-08 03:38:14 +0100
committerGitHub <noreply@github.com>2021-12-08 03:38:14 +0100
commit815189eaf31c6fdeb7983d03d17ba3685b61f806 (patch)
tree340ac3f1c580dcc2560a2775b2014ae80259dd07 /src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp
parentMerge pull request #7506 from heinermann/focus_crash (diff)
parentAddress feedback (diff)
downloadyuzu-815189eaf31c6fdeb7983d03d17ba3685b61f806.tar
yuzu-815189eaf31c6fdeb7983d03d17ba3685b61f806.tar.gz
yuzu-815189eaf31c6fdeb7983d03d17ba3685b61f806.tar.bz2
yuzu-815189eaf31c6fdeb7983d03d17ba3685b61f806.tar.lz
yuzu-815189eaf31c6fdeb7983d03d17ba3685b61f806.tar.xz
yuzu-815189eaf31c6fdeb7983d03d17ba3685b61f806.tar.zst
yuzu-815189eaf31c6fdeb7983d03d17ba3685b61f806.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp
index e61261f98..8a05f0668 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp
+++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp
@@ -59,7 +59,8 @@ NvResult nvhost_nvdec_common::SetNVMAPfd(const std::vector<u8>& input) {
return NvResult::Success;
}
-NvResult nvhost_nvdec_common::Submit(const std::vector<u8>& input, std::vector<u8>& output) {
+NvResult nvhost_nvdec_common::Submit(DeviceFD fd, const std::vector<u8>& input,
+ std::vector<u8>& output) {
IoctlSubmit params{};
std::memcpy(&params, input.data(), sizeof(IoctlSubmit));
LOG_DEBUG(Service_NVDRV, "called NVDEC Submit, cmd_buffer_count={}", params.cmd_buffer_count);
@@ -93,7 +94,7 @@ NvResult nvhost_nvdec_common::Submit(const std::vector<u8>& input, std::vector<u
Tegra::ChCommandHeaderList cmdlist(cmd_buffer.word_count);
system.Memory().ReadBlock(object->addr + cmd_buffer.offset, cmdlist.data(),
cmdlist.size() * sizeof(u32));
- gpu.PushCommandBuffer(cmdlist);
+ gpu.PushCommandBuffer(fd_to_id[fd], cmdlist);
}
std::memcpy(output.data(), &params, sizeof(IoctlSubmit));
// Some games expect command_buffers to be written back