Fix ios gpu crash + misc cleanup (#1603)

This commit is contained in:
moudgils
2021-06-25 23:08:51 -07:00
committed by GitHub
parent 83d142d7dc
commit 8908ea208b
3 changed files with 8 additions and 5 deletions
@@ -334,9 +334,8 @@ namespace AZ
if(m_argumentBuffer.IsValid())
{
m_device->GetArgumentBufferAllocator().DeAllocate(m_argumentBuffer);
}
#endif
}
#else
if(m_argumentBuffer.IsValid())
{
m_device->QueueForRelease(m_argumentBuffer);
@@ -346,7 +345,11 @@ namespace AZ
{
m_device->QueueForRelease(m_constantBuffer);
}
#endif
m_argumentBuffer = {};
m_constantBuffer = {};
[m_argumentEncoder release];
m_argumentEncoder = nil;
@@ -78,8 +78,9 @@ namespace AZ
id<MTLRenderCommandEncoder> renderEncoder = GetEncoder<id<MTLRenderCommandEncoder>>();
for (id<MTLHeap> residentHeap : *m_residentHeaps)
{
//MTLRenderStageVertex is not added to this as it was causing an immediate gpu crash on ios (first buffer commit)
[renderEncoder useHeap : residentHeap
stages : MTLRenderStageVertex | MTLRenderStageFragment];
stages : MTLRenderStageFragment];
}
break;
}
@@ -55,7 +55,6 @@ namespace AZ
ShaderResourceGroup& group = static_cast<ShaderResourceGroup&>(resourceBase);
for (size_t i = 0; i < RHI::Limits::Device::FrameCountMax; ++i)
{
group.m_compiledArgBuffers[i]->Shutdown();
group.m_compiledArgBuffers[i] = nullptr;
}
Base::ShutdownResourceInternal(resourceBase);