|
@@ -137,7 +137,7 @@ void RendererVulkan::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
|
|
|
render_window.OnFrameDisplayed();
|
|
render_window.OnFrameDisplayed();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-bool RendererVulkan::Init() {
|
|
|
|
|
|
|
+bool RendererVulkan::Init() try {
|
|
|
library = OpenLibrary();
|
|
library = OpenLibrary();
|
|
|
std::tie(instance, instance_version) = CreateInstance(
|
|
std::tie(instance, instance_version) = CreateInstance(
|
|
|
library, dld, render_window.GetWindowInfo().type, true, Settings::values.renderer_debug);
|
|
library, dld, render_window.GetWindowInfo().type, true, Settings::values.renderer_debug);
|
|
@@ -168,8 +168,11 @@ bool RendererVulkan::Init() {
|
|
|
blit_screen =
|
|
blit_screen =
|
|
|
std::make_unique<VKBlitScreen>(cpu_memory, render_window, *rasterizer, *device,
|
|
std::make_unique<VKBlitScreen>(cpu_memory, render_window, *rasterizer, *device,
|
|
|
*memory_manager, *swapchain, *scheduler, screen_info);
|
|
*memory_manager, *swapchain, *scheduler, screen_info);
|
|
|
-
|
|
|
|
|
return true;
|
|
return true;
|
|
|
|
|
+
|
|
|
|
|
+} catch (const vk::Exception& exception) {
|
|
|
|
|
+ LOG_ERROR(Render_Vulkan, "Vulkan initialization failed with error: {}", exception.what());
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void RendererVulkan::ShutDown() {
|
|
void RendererVulkan::ShutDown() {
|