|
|
|
@ -61,7 +61,6 @@ namespace FidelityFX |
|
|
|
|
|
|
|
private CommandBuffer _dispatchCommandBuffer; |
|
|
|
private CommandBuffer _opaqueInputCommandBuffer; |
|
|
|
private CommandBuffer _inputsCommandBuffer; |
|
|
|
|
|
|
|
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.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) |
|
|
|
{ |
|
|
|
_renderCamera.AddCommandBuffer(CameraEvent.BeforeForwardAlpha, _opaqueInputCommandBuffer); |
|
|
|
@ -126,13 +119,6 @@ namespace FidelityFX |
|
|
|
_opaqueInputCommandBuffer = null; |
|
|
|
} |
|
|
|
|
|
|
|
if (_inputsCommandBuffer != null) |
|
|
|
{ |
|
|
|
_renderCamera.RemoveCommandBuffer(CameraEvent.BeforeImageEffects, _inputsCommandBuffer); |
|
|
|
_inputsCommandBuffer.Release(); |
|
|
|
_inputsCommandBuffer = null; |
|
|
|
} |
|
|
|
|
|
|
|
if (_dispatchCommandBuffer != null) |
|
|
|
{ |
|
|
|
_dispatchCommandBuffer.Release(); |
|
|
|
@ -255,12 +241,15 @@ namespace FidelityFX |
|
|
|
enabled = false; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
_dispatchCommandBuffer.Clear(); |
|
|
|
|
|
|
|
// Update the input resource descriptions
|
|
|
|
_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) |
|
|
|
{ |
|
|
|
_dispatchCommandBuffer.GetTemporaryRT(Fsr2Pipeline.UavAutoReactive, _renderSize.x, _renderSize.y, 0, default, GraphicsFormat.R8_UNorm, 1, true); |
|
|
|
|