mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 15:01:28 +12:00
d3d12; Clean resource sooner and fix crash with VS debugger.
This commit is contained in:
parent
1837f40ed4
commit
4966ab565a
1 changed files with 12 additions and 9 deletions
|
@ -95,6 +95,10 @@ void D3D12GSRender::ResourceStorage::Reset()
|
||||||
std::get<2>(tmp)->Release();
|
std::get<2>(tmp)->Release();
|
||||||
for (auto tmp : m_inUseTexture2D)
|
for (auto tmp : m_inUseTexture2D)
|
||||||
std::get<2>(tmp)->Release();
|
std::get<2>(tmp)->Release();
|
||||||
|
m_inUseConstantsBuffers.clear();
|
||||||
|
m_inUseVertexIndexBuffers.clear();
|
||||||
|
m_inUseTextureUploadBuffers.clear();
|
||||||
|
m_inUseTexture2D.clear();
|
||||||
|
|
||||||
m_commandAllocator->Reset();
|
m_commandAllocator->Reset();
|
||||||
m_textureUploadCommandAllocator->Reset();
|
m_textureUploadCommandAllocator->Reset();
|
||||||
|
@ -1132,6 +1136,14 @@ void D3D12GSRender::Flip()
|
||||||
// Flush
|
// Flush
|
||||||
m_texturesCache.clear();
|
m_texturesCache.clear();
|
||||||
m_texturesRTTs.clear();
|
m_texturesRTTs.clear();
|
||||||
|
getNonCurrentResourceStorage().m_inUseConstantsBuffers = m_constantsData.m_resourceStoredSinceLastSync;
|
||||||
|
m_constantsData.m_resourceStoredSinceLastSync.clear();
|
||||||
|
getNonCurrentResourceStorage().m_inUseVertexIndexBuffers = m_vertexIndexData.m_resourceStoredSinceLastSync;
|
||||||
|
m_vertexIndexData.m_resourceStoredSinceLastSync.clear();
|
||||||
|
getNonCurrentResourceStorage().m_inUseTextureUploadBuffers = m_textureUploadData.m_resourceStoredSinceLastSync;
|
||||||
|
m_textureUploadData.m_resourceStoredSinceLastSync.clear();
|
||||||
|
getNonCurrentResourceStorage().m_inUseTexture2D = m_textureData.m_resourceStoredSinceLastSync;
|
||||||
|
m_textureData.m_resourceStoredSinceLastSync.clear();
|
||||||
|
|
||||||
if (getCurrentResourceStorage().m_frameFinishedHandle)
|
if (getCurrentResourceStorage().m_frameFinishedHandle)
|
||||||
{
|
{
|
||||||
|
@ -1150,15 +1162,6 @@ void D3D12GSRender::Flip()
|
||||||
getCurrentResourceStorage().Reset();
|
getCurrentResourceStorage().Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentResourceStorage().m_inUseConstantsBuffers = m_constantsData.m_resourceStoredSinceLastSync;
|
|
||||||
m_constantsData.m_resourceStoredSinceLastSync.clear();
|
|
||||||
getCurrentResourceStorage().m_inUseVertexIndexBuffers = m_vertexIndexData.m_resourceStoredSinceLastSync;
|
|
||||||
m_vertexIndexData.m_resourceStoredSinceLastSync.clear();
|
|
||||||
getCurrentResourceStorage().m_inUseTextureUploadBuffers = m_textureUploadData.m_resourceStoredSinceLastSync;
|
|
||||||
m_textureUploadData.m_resourceStoredSinceLastSync.clear();
|
|
||||||
getCurrentResourceStorage().m_inUseTexture2D = m_textureData.m_resourceStoredSinceLastSync;
|
|
||||||
m_textureData.m_resourceStoredSinceLastSync.clear();
|
|
||||||
|
|
||||||
m_frame->Flip(nullptr);
|
m_frame->Flip(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue