diff options
Diffstat (limited to 'Source/Core/VideoBackends/D3D/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/Render.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp index b179597204..bfaa5763ba 100644 --- a/Source/Core/VideoBackends/D3D/Render.cpp +++ b/Source/Core/VideoBackends/D3D/Render.cpp @@ -225,6 +225,11 @@ void Renderer::Create3DVisionTexture(int width, int height) DXGI_FORMAT_R8G8B8A8_UNORM, 1, 1, &sys_data); } +bool Renderer::IsHeadless() const +{ + return D3D::swapchain == nullptr; +} + std::unique_ptr<AbstractTexture> Renderer::CreateTexture(const TextureConfig& config) { return std::make_unique<DXTexture>(config); @@ -698,12 +703,12 @@ void Renderer::CheckForSurfaceChange() if (!m_surface_changed.TestAndClear()) return; - m_surface_handle = m_new_surface_handle; - m_new_surface_handle = nullptr; - SAFE_RELEASE(m_screenshot_texture); SAFE_RELEASE(m_3d_vision_texture); + D3D::Reset(reinterpret_cast<HWND>(m_new_surface_handle)); + m_new_surface_handle = nullptr; + UpdateBackbufferSize(); } @@ -714,9 +719,6 @@ void Renderer::CheckForSurfaceResize() if (!m_surface_resized.TestAndClear() && !exclusive_fullscreen_changed) return; - m_backbuffer_width = m_new_backbuffer_width; - m_backbuffer_height = m_new_backbuffer_height; - SAFE_RELEASE(m_screenshot_texture); SAFE_RELEASE(m_3d_vision_texture); m_last_fullscreen_state = fullscreen_state; |
