Make this a unique_prt

This commit is contained in:
SimoneN64
2024-01-18 23:35:30 +01:00
parent 6e010b4adb
commit 7f1bef6037
5 changed files with 9 additions and 8 deletions

View File

@@ -124,10 +124,10 @@ private:
Program* fullscreen_quad_program; Program* fullscreen_quad_program;
WSI* LoadWSIPlatform(Vulkan::InstanceFactory* instanceFactory, Vulkan::WSIPlatform* wsi_platform, std::unique_ptr<ParallelRdpWindowInfo>&& newWindowInfo) { WSI* LoadWSIPlatform(Vulkan::InstanceFactory* instanceFactory, std::unique_ptr<Vulkan::WSIPlatform>&& wsi_platform, std::unique_ptr<ParallelRdpWindowInfo>&& newWindowInfo) {
wsi = new WSI(); wsi = new WSI();
wsi->set_backbuffer_srgb(false); wsi->set_backbuffer_srgb(false);
wsi->set_platform(wsi_platform); wsi->set_platform(wsi_platform.get());
wsi->set_present_mode(PresentMode::SyncToVBlank); wsi->set_present_mode(PresentMode::SyncToVBlank);
Context::SystemHandles handles; Context::SystemHandles handles;
if (!wsi->init_simple(instanceFactory, 1, handles)) { if (!wsi->init_simple(instanceFactory, 1, handles)) {

View File

@@ -35,7 +35,7 @@ VkFormat GetVkFormat();
VkCommandBuffer GetVkCommandBuffer(); VkCommandBuffer GetVkCommandBuffer();
void SubmitRequestedVkCommandBuffer(); void SubmitRequestedVkCommandBuffer();
void LoadParallelRDP(const u8* rdram); void LoadParallelRDP(const u8* rdram);
Vulkan::WSI* LoadWSIPlatform(Vulkan::InstanceFactory*, Vulkan::WSIPlatform* wsi_platform, std::unique_ptr<ParallelRdpWindowInfo>&& newWindowInfo); Vulkan::WSI* LoadWSIPlatform(Vulkan::InstanceFactory*, std::unique_ptr<Vulkan::WSIPlatform>&& wsi_platform, std::unique_ptr<ParallelRdpWindowInfo>&& newWindowInfo);
void UpdateScreenParallelRdp(n64::Core& core, n64::VI& vi); void UpdateScreenParallelRdp(n64::Core& core, n64::VI& vi);
void ParallelRdpEnqueueCommand(int command_length, u32* buffer); void ParallelRdpEnqueueCommand(int command_length, u32* buffer);
void ParallelRdpOnFullSync(); void ParallelRdpOnFullSync();

View File

@@ -21,6 +21,7 @@ Core::Core() {
} }
cpu = std::make_unique<Interpreter>(); cpu = std::make_unique<Interpreter>();
LoadParallelRDP(cpu->mem.GetRDRAM());
} }
void Core::Stop() { void Core::Stop() {

View File

@@ -22,8 +22,8 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent) {
windowHandle()->setVulkanInstance(&instance.get_qvkinstance()); windowHandle()->setVulkanInstance(&instance.get_qvkinstance());
windowHandle()->create(); windowHandle()->create();
wsiPlatform = new QtWSIPlatform(windowHandle()); wsiPlatform = std::make_unique<QtWSIPlatform>(windowHandle());
windowInfo = std::make_unique<QtParallelRdpWindowInfo>(windowHandle()); windowInfo = std::make_unique<QtParallelRdpWindowInfo>(windowHandle());
LoadWSIPlatform(&instance, wsiPlatform, std::move(windowInfo)); LoadWSIPlatform(&instance, std::move(wsiPlatform), std::move(windowInfo));
} }

View File

@@ -46,8 +46,8 @@ public:
std::vector<const char*> get_instance_extensions() override { std::vector<const char*> get_instance_extensions() override {
auto vec = std::vector<const char*>(); auto vec = std::vector<const char*>();
for (const auto& ext : window->vulkanInstance()->extensions()) { for (const auto& ext : window->vulkanInstance()->supportedExtensions()) {
vec.push_back(ext); vec.push_back(ext.name);
} }
return vec; return vec;
@@ -95,6 +95,6 @@ public:
} }
private: private:
std::unique_ptr<ParallelRdpWindowInfo> windowInfo; std::unique_ptr<ParallelRdpWindowInfo> windowInfo;
QtWSIPlatform* wsiPlatform; std::unique_ptr<Vulkan::WSIPlatform> wsiPlatform;
QtInstanceFactory instance; QtInstanceFactory instance;
}; };