early-access version 1635
This commit is contained in:
parent
e0d921efd6
commit
42500628e7
6 changed files with 21 additions and 23 deletions
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 1632.
|
This is the source code for early-access 1635.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,8 @@ NvResult nvhost_nvdec::Ioctl3(DeviceFD fd, Ioctl command, const std::vector<u8>&
|
||||||
void nvhost_nvdec::OnOpen(DeviceFD fd) {}
|
void nvhost_nvdec::OnOpen(DeviceFD fd) {}
|
||||||
|
|
||||||
void nvhost_nvdec::OnClose(DeviceFD fd) {
|
void nvhost_nvdec::OnClose(DeviceFD fd) {
|
||||||
system.GPU().ClearCommandBuffer();
|
LOG_INFO(Service_NVDRV, "NVDEC video stream ended");
|
||||||
|
system.GPU().ClearCdmaInstance();
|
||||||
system.GPU().MemoryManager().InvalidateQueuedCaches();
|
system.GPU().MemoryManager().InvalidateQueuedCaches();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,13 +30,8 @@ NvResult nvhost_vic::Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& i
|
||||||
return GetWaitbase(input, output);
|
return GetWaitbase(input, output);
|
||||||
case 0x9:
|
case 0x9:
|
||||||
return MapBuffer(input, output);
|
return MapBuffer(input, output);
|
||||||
case 0xa: {
|
case 0xa:
|
||||||
if (command.length == 0x1c) {
|
|
||||||
Tegra::ChCommandHeaderList cmdlist{{0xDEADB33F}};
|
|
||||||
system.GPU().PushCommandBuffer(cmdlist);
|
|
||||||
}
|
|
||||||
return UnmapBuffer(input, output);
|
return UnmapBuffer(input, output);
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -70,6 +65,9 @@ NvResult nvhost_vic::Ioctl3(DeviceFD fd, Ioctl command, const std::vector<u8>& i
|
||||||
}
|
}
|
||||||
|
|
||||||
void nvhost_vic::OnOpen(DeviceFD fd) {}
|
void nvhost_vic::OnOpen(DeviceFD fd) {}
|
||||||
void nvhost_vic::OnClose(DeviceFD fd) {}
|
|
||||||
|
void nvhost_vic::OnClose(DeviceFD fd) {
|
||||||
|
system.GPU().ClearCdmaInstance();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Service::Nvidia::Devices
|
} // namespace Service::Nvidia::Devices
|
||||||
|
|
|
@ -492,10 +492,8 @@ void GPU::PushCommandBuffer(Tegra::ChCommandHeaderList& entries) {
|
||||||
cdma_pusher->ProcessEntries(std::move(entries));
|
cdma_pusher->ProcessEntries(std::move(entries));
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPU::ClearCommandBuffer() {
|
void GPU::ClearCdmaInstance() {
|
||||||
// This condition fires when a video stream ends, clear all intermediary data
|
|
||||||
cdma_pusher.reset();
|
cdma_pusher.reset();
|
||||||
LOG_INFO(Service_NVDRV, "NVDEC video stream ended");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPU::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
|
void GPU::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
|
||||||
|
|
|
@ -324,8 +324,8 @@ public:
|
||||||
/// Push GPU command buffer entries to be processed
|
/// Push GPU command buffer entries to be processed
|
||||||
void PushCommandBuffer(Tegra::ChCommandHeaderList& entries);
|
void PushCommandBuffer(Tegra::ChCommandHeaderList& entries);
|
||||||
|
|
||||||
/// Frees the CDMAPusher to free up resources
|
/// Frees the CDMAPusher instance to free up resources
|
||||||
void ClearCommandBuffer();
|
void ClearCdmaInstance();
|
||||||
|
|
||||||
/// Swap buffers (render frame)
|
/// Swap buffers (render frame)
|
||||||
void SwapBuffers(const Tegra::FramebufferConfig* framebuffer);
|
void SwapBuffers(const Tegra::FramebufferConfig* framebuffer);
|
||||||
|
|
|
@ -29,9 +29,10 @@ Config::~Config() {
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::array<int, Settings::NativeButton::NumButtons> Config::default_buttons = {
|
const std::array<int, Settings::NativeButton::NumButtons> Config::default_buttons = {
|
||||||
Qt::Key_A, Qt::Key_S, Qt::Key_Z, Qt::Key_X, Qt::Key_3, Qt::Key_4, Qt::Key_Q,
|
Qt::Key_C, Qt::Key_X, Qt::Key_V, Qt::Key_Z, Qt::Key_F,
|
||||||
Qt::Key_W, Qt::Key_1, Qt::Key_2, Qt::Key_N, Qt::Key_M, Qt::Key_F, Qt::Key_T,
|
Qt::Key_G, Qt::Key_Q, Qt::Key_E, Qt::Key_R, Qt::Key_T,
|
||||||
Qt::Key_H, Qt::Key_G, Qt::Key_D, Qt::Key_C, Qt::Key_B, Qt::Key_V,
|
Qt::Key_M, Qt::Key_N, Qt::Key_Left, Qt::Key_Up, Qt::Key_Right,
|
||||||
|
Qt::Key_Down, Qt::Key_Q, Qt::Key_E, 0, 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motions = {
|
const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motions = {
|
||||||
|
@ -41,10 +42,10 @@ const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motion
|
||||||
|
|
||||||
const std::array<std::array<int, 4>, Settings::NativeAnalog::NumAnalogs> Config::default_analogs{{
|
const std::array<std::array<int, 4>, Settings::NativeAnalog::NumAnalogs> Config::default_analogs{{
|
||||||
{
|
{
|
||||||
Qt::Key_Up,
|
Qt::Key_W,
|
||||||
Qt::Key_Down,
|
Qt::Key_S,
|
||||||
Qt::Key_Left,
|
Qt::Key_A,
|
||||||
Qt::Key_Right,
|
Qt::Key_D,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Qt::Key_I,
|
Qt::Key_I,
|
||||||
|
@ -55,8 +56,8 @@ const std::array<std::array<int, 4>, Settings::NativeAnalog::NumAnalogs> Config:
|
||||||
}};
|
}};
|
||||||
|
|
||||||
const std::array<int, 2> Config::default_stick_mod = {
|
const std::array<int, 2> Config::default_stick_mod = {
|
||||||
Qt::Key_E,
|
Qt::Key_Shift,
|
||||||
Qt::Key_R,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
const std::array<int, Settings::NativeMouseButton::NumMouseButtons> Config::default_mouse_buttons =
|
const std::array<int, Settings::NativeMouseButton::NumMouseButtons> Config::default_mouse_buttons =
|
||||||
|
|
Loading…
Reference in a new issue