mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-12 22:14:58 +00:00
vk: Fix nul deref in spill code
- Restores code lost in a rebase
This commit is contained in:
parent
b7df539871
commit
2d4df57d87
@ -540,7 +540,7 @@ namespace vk
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
vk::image* src = nullptr;
|
vk::viewable_image* src = nullptr;
|
||||||
if (samples() == 1) [[likely]]
|
if (samples() == 1) [[likely]]
|
||||||
{
|
{
|
||||||
src = this;
|
src = this;
|
||||||
@ -588,7 +588,24 @@ namespace vk
|
|||||||
if (msaa_flags & rsx::surface_state_flags::require_resolve)
|
if (msaa_flags & rsx::surface_state_flags::require_resolve)
|
||||||
{
|
{
|
||||||
ensure(samples() > 1);
|
ensure(samples() > 1);
|
||||||
|
const bool borrowed = [&]()
|
||||||
|
{
|
||||||
|
if (src != resolve_surface.get())
|
||||||
|
{
|
||||||
|
ensure(!resolve_surface);
|
||||||
|
resolve_surface.reset(src);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}();
|
||||||
|
|
||||||
resolve(cmd);
|
resolve(cmd);
|
||||||
|
|
||||||
|
if (borrowed)
|
||||||
|
{
|
||||||
|
resolve_surface.release();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto pdev = vk::get_current_renderer();
|
const auto pdev = vk::get_current_renderer();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user