rsx: Misc fixes
https://godbolt.org/z/4745MGT6z
in #17088 you fixed some double releases (due to commit c7d9ec5) causing issues when trying to fix #17086 but I see at the end you also removed some checks on pointer validity such as the following in VKGSRender.cpp:
if (m_vertex_layout_storage)
{
vk::get_gc()->dispose(m_vertex_layout_storage);
}
Shouldn't you check the validity of the reference at the beginning of the new used vk::get_resource_manager()->dispose() method? something like:
if (!object)
{
return;
}
in #17088 you fixed some double releases (due to commit
c7d9ec5) causing issues when trying to fix #17086 but I see at the end you also removed some checks on pointer validity such as the following inVKGSRender.cpp:if (m_vertex_layout_storage) { vk::get_gc()->dispose(m_vertex_layout_storage); }Shouldn't you check the validity of the reference at the beginning of the new used
vk::get_resource_manager()->dispose()method? something like:if (!object) { return; }
This is handled downstream in disposable_t dtor. It is intentional, gc runs on a separate thread so we let any logic run checks from that side.