Refactor Parallel RDP wrapper
This commit is contained in:
@@ -1,24 +1,21 @@
|
||||
#include <ParallelRDPWrapper.hpp>
|
||||
#include <EmuThread.hpp>
|
||||
#include <RenderWidget.hpp>
|
||||
#include <ParallelRDPWrapper.hpp>
|
||||
#include "Audio.hpp"
|
||||
|
||||
EmuThread::EmuThread(std::unique_ptr<QtInstanceFactory>&& instance, std::unique_ptr<Vulkan::WSIPlatform>&& wsiPlatform, std::unique_ptr<ParallelRdpWindowInfo>&& windowInfo, QObject* parent_object) noexcept
|
||||
: QThread(parent_object), instance(std::move(instance)), wsiPlatform(std::move(wsiPlatform)), windowInfo(std::move(windowInfo)) {}
|
||||
EmuThread::EmuThread(std::unique_ptr<QtInstanceFactory>&& instance_, std::unique_ptr<Vulkan::WSIPlatform>&& wsiPlatform_, std::unique_ptr<ParallelRDP::WindowInfo>&& windowInfo_, QObject* parent_object) noexcept
|
||||
: QThread(parent_object), instance(std::move(instance_)), wsiPlatform(std::move(wsiPlatform_)), windowInfo(std::move(windowInfo_)), parallel(instance.get(), std::move(wsiPlatform), std::move(windowInfo)) {}
|
||||
|
||||
[[noreturn]] void EmuThread::run() noexcept {
|
||||
LoadWSIPlatform(instance.get(), std::move(wsiPlatform), std::move(windowInfo));
|
||||
LoadParallelRDP(core->cpu->mem.GetRDRAMPtr());
|
||||
|
||||
while (true) {
|
||||
if (!core->pause) {
|
||||
core->Run(settings->getVolumeL(), settings->getVolumeR());
|
||||
if(core->render) {
|
||||
UpdateScreenParallelRdp(core->cpu->mem.mmio.vi);
|
||||
parallel.UpdateScreen(core->cpu->GetMem().mmio.vi);
|
||||
}
|
||||
} else {
|
||||
if(core->render) {
|
||||
UpdateScreenParallelRdpNoGame();
|
||||
parallel.UpdateScreen(core->cpu->GetMem().mmio.vi, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user