Browse Source

Removed separate command buffer for binding input buffers, which really wasn't needed anymore.

mac-autoexp
Nico de Poel 3 years ago
parent
commit
d232e3e07b
  1. 21
      Assets/Scripts/Fsr2ImageEffect.cs

21
Assets/Scripts/Fsr2ImageEffect.cs

@ -61,7 +61,6 @@ namespace FidelityFX
private CommandBuffer _dispatchCommandBuffer; private CommandBuffer _dispatchCommandBuffer;
private CommandBuffer _opaqueInputCommandBuffer; private CommandBuffer _opaqueInputCommandBuffer;
private CommandBuffer _inputsCommandBuffer;
private RenderTextureFormat DefaultFormat => _renderCamera.allowHDR ? RenderTextureFormat.DefaultHDR : RenderTextureFormat.Default; private RenderTextureFormat DefaultFormat => _renderCamera.allowHDR ? RenderTextureFormat.DefaultHDR : RenderTextureFormat.Default;
@ -94,12 +93,6 @@ namespace FidelityFX
_opaqueInputCommandBuffer.GetTemporaryRT(Fsr2Pipeline.SrvOpaqueOnly, _renderSize.x, _renderSize.y, 0, default, DefaultFormat); _opaqueInputCommandBuffer.GetTemporaryRT(Fsr2Pipeline.SrvOpaqueOnly, _renderSize.x, _renderSize.y, 0, default, DefaultFormat);
_opaqueInputCommandBuffer.Blit(BuiltinRenderTextureType.CameraTarget, Fsr2Pipeline.SrvOpaqueOnly); _opaqueInputCommandBuffer.Blit(BuiltinRenderTextureType.CameraTarget, Fsr2Pipeline.SrvOpaqueOnly);
_inputsCommandBuffer = new CommandBuffer { name = "FSR2 Inputs" };
_inputsCommandBuffer.SetGlobalTexture(Fsr2Pipeline.SrvInputColor, BuiltinRenderTextureType.CameraTarget, RenderTextureSubElement.Color);
_inputsCommandBuffer.SetGlobalTexture(Fsr2Pipeline.SrvInputDepth, BuiltinRenderTextureType.CameraTarget, RenderTextureSubElement.Depth);
_inputsCommandBuffer.SetGlobalTexture(Fsr2Pipeline.SrvInputMotionVectors, BuiltinRenderTextureType.MotionVectors);
_renderCamera.AddCommandBuffer(CameraEvent.BeforeImageEffects, _inputsCommandBuffer);
if (autoGenerateReactiveMask) if (autoGenerateReactiveMask)
{ {
_renderCamera.AddCommandBuffer(CameraEvent.BeforeForwardAlpha, _opaqueInputCommandBuffer); _renderCamera.AddCommandBuffer(CameraEvent.BeforeForwardAlpha, _opaqueInputCommandBuffer);
@ -126,13 +119,6 @@ namespace FidelityFX
_opaqueInputCommandBuffer = null; _opaqueInputCommandBuffer = null;
} }
if (_inputsCommandBuffer != null)
{
_renderCamera.RemoveCommandBuffer(CameraEvent.BeforeImageEffects, _inputsCommandBuffer);
_inputsCommandBuffer.Release();
_inputsCommandBuffer = null;
}
if (_dispatchCommandBuffer != null) if (_dispatchCommandBuffer != null)
{ {
_dispatchCommandBuffer.Release(); _dispatchCommandBuffer.Release();
@ -255,12 +241,15 @@ namespace FidelityFX
enabled = false; enabled = false;
return; return;
} }
_dispatchCommandBuffer.Clear();
// Update the input resource descriptions // Update the input resource descriptions
_dispatchDescription.InputResourceSize = new Vector2Int(src.width, src.height); _dispatchDescription.InputResourceSize = new Vector2Int(src.width, src.height);
_dispatchCommandBuffer.Clear();
_dispatchCommandBuffer.SetGlobalTexture(Fsr2Pipeline.SrvInputColor, BuiltinRenderTextureType.CameraTarget, RenderTextureSubElement.Color);
_dispatchCommandBuffer.SetGlobalTexture(Fsr2Pipeline.SrvInputDepth, BuiltinRenderTextureType.CameraTarget, RenderTextureSubElement.Depth);
_dispatchCommandBuffer.SetGlobalTexture(Fsr2Pipeline.SrvInputMotionVectors, BuiltinRenderTextureType.MotionVectors);
if (autoGenerateReactiveMask) if (autoGenerateReactiveMask)
{ {
_dispatchCommandBuffer.GetTemporaryRT(Fsr2Pipeline.UavAutoReactive, _renderSize.x, _renderSize.y, 0, default, GraphicsFormat.R8_UNorm, 1, true); _dispatchCommandBuffer.GetTemporaryRT(Fsr2Pipeline.UavAutoReactive, _renderSize.x, _renderSize.y, 0, default, GraphicsFormat.R8_UNorm, 1, true);

Loading…
Cancel
Save