diff --git a/src/duckstation-nogui/nogui_host_interface.cpp b/src/duckstation-nogui/nogui_host_interface.cpp index 005860161..70fd3934c 100644 --- a/src/duckstation-nogui/nogui_host_interface.cpp +++ b/src/duckstation-nogui/nogui_host_interface.cpp @@ -114,7 +114,8 @@ bool NoGUIHostInterface::CreateDisplay() if (!m_display->CreateRenderDevice(wi.value(), g_settings.gpu_adapter, g_settings.gpu_use_debug_device, g_settings.gpu_threaded_presentation) || !m_display->InitializeRenderDevice(GetShaderCacheBasePath(), g_settings.gpu_use_debug_device, - g_settings.gpu_threaded_presentation)) + g_settings.gpu_threaded_presentation) || + !CreateHostDisplayResources()) { m_display->DestroyRenderDevice(); m_display.reset(); @@ -125,7 +126,8 @@ bool NoGUIHostInterface::CreateDisplay() if (!CreateHostDisplayResources()) Log_WarningPrint("Failed to create host display resources"); - Log_InfoPrintf("Host display initialized at %ux%u resolution", m_display->GetWindowWidth(), m_display->GetWindowHeight()); + Log_InfoPrintf("Host display initialized at %ux%u resolution", m_display->GetWindowWidth(), + m_display->GetWindowHeight()); return true; } diff --git a/src/frontend-common/common_host_interface.cpp b/src/frontend-common/common_host_interface.cpp index 88dd4c27d..c8c071584 100644 --- a/src/frontend-common/common_host_interface.cpp +++ b/src/frontend-common/common_host_interface.cpp @@ -517,11 +517,6 @@ void CommonHostInterface::CreateImGuiContext() bool CommonHostInterface::CreateHostDisplayResources() { - m_logo_texture = m_display->CreateTexture(APP_ICON_WIDTH, APP_ICON_HEIGHT, 1, 1, 1, HostDisplayPixelFormat::RGBA8, - APP_ICON_DATA, sizeof(u32) * APP_ICON_WIDTH, false); - if (!m_logo_texture) - Log_WarningPrintf("Failed to create logo texture"); - const float framebuffer_scale = m_display->GetWindowScale(); ImGui::GetIO().DisplayFramebufferScale = ImVec2(framebuffer_scale, framebuffer_scale); ImGui::GetIO().DisplaySize.x = static_cast<float>(m_display->GetWindowWidth()); @@ -548,13 +543,16 @@ bool CommonHostInterface::CreateHostDisplayResources() if (!m_fullscreen_ui_enabled) ImGuiFullscreen::ResetFonts(); - if (!m_display->UpdateImGuiFontTexture()) + m_logo_texture = m_display->CreateTexture(APP_ICON_WIDTH, APP_ICON_HEIGHT, 1, 1, 1, HostDisplayPixelFormat::RGBA8, + APP_ICON_DATA, sizeof(u32) * APP_ICON_WIDTH, false); + if (!m_logo_texture || !m_display->UpdateImGuiFontTexture()) { Log_ErrorPrintf("Failed to create ImGui font text"); if (m_fullscreen_ui_enabled) FullscreenUI::Shutdown(); m_display->DestroyImGuiContext(); + m_logo_texture.reset(); return false; }