diff --git a/external/parallel-rdp/ParallelRDPWrapper.cpp b/external/parallel-rdp/ParallelRDPWrapper.cpp index aa8e75e0..ddb24dab 100644 --- a/external/parallel-rdp/ParallelRDPWrapper.cpp +++ b/external/parallel-rdp/ParallelRDPWrapper.cpp @@ -124,10 +124,10 @@ private: Program* fullscreen_quad_program; -WSI* LoadWSIPlatform(Vulkan::InstanceFactory* instanceFactory, Vulkan::WSIPlatform* wsi_platform, std::unique_ptr&& newWindowInfo) { +WSI* LoadWSIPlatform(Vulkan::InstanceFactory* instanceFactory, std::unique_ptr&& wsi_platform, std::unique_ptr&& newWindowInfo) { wsi = new WSI(); wsi->set_backbuffer_srgb(false); - wsi->set_platform(wsi_platform); + wsi->set_platform(wsi_platform.get()); wsi->set_present_mode(PresentMode::SyncToVBlank); Context::SystemHandles handles; if (!wsi->init_simple(instanceFactory, 1, handles)) { diff --git a/external/parallel-rdp/ParallelRDPWrapper.hpp b/external/parallel-rdp/ParallelRDPWrapper.hpp index b0d98842..560b653a 100644 --- a/external/parallel-rdp/ParallelRDPWrapper.hpp +++ b/external/parallel-rdp/ParallelRDPWrapper.hpp @@ -35,7 +35,7 @@ VkFormat GetVkFormat(); VkCommandBuffer GetVkCommandBuffer(); void SubmitRequestedVkCommandBuffer(); void LoadParallelRDP(const u8* rdram); -Vulkan::WSI* LoadWSIPlatform(Vulkan::InstanceFactory*, Vulkan::WSIPlatform* wsi_platform, std::unique_ptr&& newWindowInfo); +Vulkan::WSI* LoadWSIPlatform(Vulkan::InstanceFactory*, std::unique_ptr&& wsi_platform, std::unique_ptr&& newWindowInfo); void UpdateScreenParallelRdp(n64::Core& core, n64::VI& vi); void ParallelRdpEnqueueCommand(int command_length, u32* buffer); void ParallelRdpOnFullSync(); diff --git a/src/backend/Core.cpp b/src/backend/Core.cpp index 484b9dab..2f00ce66 100644 --- a/src/backend/Core.cpp +++ b/src/backend/Core.cpp @@ -21,6 +21,7 @@ Core::Core() { } cpu = std::make_unique(); + LoadParallelRDP(cpu->mem.GetRDRAM()); } void Core::Stop() { diff --git a/src/frontend/RenderWidget.cpp b/src/frontend/RenderWidget.cpp index ad36bd6e..e9ea20fc 100644 --- a/src/frontend/RenderWidget.cpp +++ b/src/frontend/RenderWidget.cpp @@ -22,8 +22,8 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent) { windowHandle()->setVulkanInstance(&instance.get_qvkinstance()); windowHandle()->create(); - wsiPlatform = new QtWSIPlatform(windowHandle()); + wsiPlatform = std::make_unique(windowHandle()); windowInfo = std::make_unique(windowHandle()); - LoadWSIPlatform(&instance, wsiPlatform, std::move(windowInfo)); + LoadWSIPlatform(&instance, std::move(wsiPlatform), std::move(windowInfo)); } \ No newline at end of file diff --git a/src/frontend/RenderWidget.hpp b/src/frontend/RenderWidget.hpp index 275cf38c..eb314a22 100644 --- a/src/frontend/RenderWidget.hpp +++ b/src/frontend/RenderWidget.hpp @@ -46,8 +46,8 @@ public: std::vector get_instance_extensions() override { auto vec = std::vector(); - for (const auto& ext : window->vulkanInstance()->extensions()) { - vec.push_back(ext); + for (const auto& ext : window->vulkanInstance()->supportedExtensions()) { + vec.push_back(ext.name); } return vec; @@ -95,6 +95,6 @@ public: } private: std::unique_ptr windowInfo; - QtWSIPlatform* wsiPlatform; + std::unique_ptr wsiPlatform; QtInstanceFactory instance; }; \ No newline at end of file