Fix ios gpu crash + misc cleanup (#1603)
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user