mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2025-03-04 06:20:54 +00:00
GPU: Fix crash when trying to postprocess surfaceless
This commit is contained in:
parent
c57bd3c430
commit
12b9cf1898
src
|
@ -1716,8 +1716,10 @@ bool GPU::RenderDisplay(GPUTexture* target, const Common::Rectangle<s32>& draw_r
|
||||||
const GPUTexture::Format hdformat = target ? target->GetFormat() : g_gpu_device->GetWindowFormat();
|
const GPUTexture::Format hdformat = target ? target->GetFormat() : g_gpu_device->GetWindowFormat();
|
||||||
const u32 target_width = target ? target->GetWidth() : g_gpu_device->GetWindowWidth();
|
const u32 target_width = target ? target->GetWidth() : g_gpu_device->GetWindowWidth();
|
||||||
const u32 target_height = target ? target->GetHeight() : g_gpu_device->GetWindowHeight();
|
const u32 target_height = target ? target->GetHeight() : g_gpu_device->GetWindowHeight();
|
||||||
const bool really_postfx = (postfx && HasDisplayTexture() && PostProcessing::IsActive() &&
|
const bool really_postfx =
|
||||||
PostProcessing::CheckTargets(hdformat, target_width, target_height));
|
(postfx && HasDisplayTexture() && PostProcessing::IsActive() && !g_gpu_device->GetWindowInfo().IsSurfaceless() &&
|
||||||
|
hdformat != GPUTexture::Format::Unknown && target_width > 0 && target_height > 0 &&
|
||||||
|
PostProcessing::CheckTargets(hdformat, target_width, target_height));
|
||||||
const Common::Rectangle<s32> real_draw_rect =
|
const Common::Rectangle<s32> real_draw_rect =
|
||||||
g_gpu_device->UsesLowerLeftOrigin() ? GPUDevice::FlipToLowerLeft(draw_rect, target_height) : draw_rect;
|
g_gpu_device->UsesLowerLeftOrigin() ? GPUDevice::FlipToLowerLeft(draw_rect, target_height) : draw_rect;
|
||||||
if (really_postfx)
|
if (really_postfx)
|
||||||
|
|
|
@ -681,6 +681,7 @@ bool PostProcessing::CheckTargets(GPUTexture::Format target_format, u32 target_w
|
||||||
!(s_output_texture = g_gpu_device->FetchTexture(target_width, target_height, 1, 1, 1,
|
!(s_output_texture = g_gpu_device->FetchTexture(target_width, target_height, 1, 1, 1,
|
||||||
GPUTexture::Type::RenderTarget, target_format)))
|
GPUTexture::Type::RenderTarget, target_format)))
|
||||||
{
|
{
|
||||||
|
DestroyTextures();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue