Browse Source

Reset atomic counter on any kind of reset, not just on first execution. Fixes black screen on Metal when doing a history reset.

fsr2
Nico de Poel 3 years ago
parent
commit
5ee49f68a8
  1. 8
      Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/FSR2/Fsr2Context.cs

8
Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/FSR2/Fsr2Context.cs

@ -150,10 +150,6 @@ namespace FidelityFX
commandBuffer.ClearRenderTarget(false, true, Color.clear); commandBuffer.ClearRenderTarget(false, true, Color.clear);
commandBuffer.SetRenderTarget(_resources.LockStatus[1]); commandBuffer.SetRenderTarget(_resources.LockStatus[1]);
commandBuffer.ClearRenderTarget(false, true, Color.clear); commandBuffer.ClearRenderTarget(false, true, Color.clear);
// Reset atomic counter to 0
commandBuffer.SetRenderTarget(_resources.SpdAtomicCounter);
commandBuffer.ClearRenderTarget(false, true, Color.clear);
} }
int frameIndex = _resourceFrameIndex % 2; int frameIndex = _resourceFrameIndex % 2;
@ -209,6 +205,10 @@ namespace FidelityFX
// Auto exposure always used to track luma changes in locking logic // Auto exposure always used to track luma changes in locking logic
commandBuffer.SetRenderTarget(_resources.AutoExposure); commandBuffer.SetRenderTarget(_resources.AutoExposure);
commandBuffer.ClearRenderTarget(false, true, new Color(-1f, 1e8f, 0f, 0f)); commandBuffer.ClearRenderTarget(false, true, new Color(-1f, 1e8f, 0f, 0f));
// Reset atomic counter to 0
commandBuffer.SetRenderTarget(_resources.SpdAtomicCounter);
commandBuffer.ClearRenderTarget(false, true, Color.clear);
} }
// Auto exposure // Auto exposure

Loading…
Cancel
Save