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;
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->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)) {

View File

@@ -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<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 ParallelRdpEnqueueCommand(int command_length, u32* buffer);
void ParallelRdpOnFullSync();

View File

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

View File

@@ -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<QtWSIPlatform>(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 {
auto vec = std::vector<const char*>();
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<ParallelRdpWindowInfo> windowInfo;
QtWSIPlatform* wsiPlatform;
std::unique_ptr<Vulkan::WSIPlatform> wsiPlatform;
QtInstanceFactory instance;
};