From 328011f7baa9902a1e95eccfbb524476d9a6728b Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Sat, 3 Aug 2024 17:20:03 +0200 Subject: [PATCH] Added profiling samplers around the entire FSR2/3 process --- Runtime/FSR2/Fsr2Context.cs | 6 ++++++ Runtime/FSR3/Fsr3UpscalerContext.cs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/Runtime/FSR2/Fsr2Context.cs b/Runtime/FSR2/Fsr2Context.cs index 4c68fdd..51da4dd 100644 --- a/Runtime/FSR2/Fsr2Context.cs +++ b/Runtime/FSR2/Fsr2Context.cs @@ -20,6 +20,7 @@ using System; using UnityEngine; +using UnityEngine.Profiling; using UnityEngine.Rendering; namespace FidelityFX.FSR2 @@ -57,6 +58,8 @@ namespace FidelityFX.FSR2 private bool _firstExecution; private Vector2 _previousJitterOffset; private int _resourceFrameIndex; + + private readonly CustomSampler _sampler = CustomSampler.Create("FSR2"); public void Create(Fsr2.ContextDescription contextDescription) { @@ -126,6 +129,8 @@ namespace FidelityFX.FSR2 public void Dispatch(Fsr2.DispatchDescription dispatchParams, CommandBuffer commandBuffer) { + commandBuffer.BeginSample(_sampler); + if ((_contextDescription.Flags & Fsr2.InitializationFlags.EnableDebugChecking) != 0) { DebugCheckDispatch(dispatchParams); @@ -257,6 +262,7 @@ namespace FidelityFX.FSR2 Fsr2Resources.DestroyAliasableResources(commandBuffer); commandBuffer.DisableShaderKeyword("UNITY_FSR_TEXTURE2D_X_ARRAY"); + commandBuffer.EndSample(_sampler); } public void GenerateReactiveMask(Fsr2.GenerateReactiveDescription dispatchParams) diff --git a/Runtime/FSR3/Fsr3UpscalerContext.cs b/Runtime/FSR3/Fsr3UpscalerContext.cs index e79e89d..2630be1 100644 --- a/Runtime/FSR3/Fsr3UpscalerContext.cs +++ b/Runtime/FSR3/Fsr3UpscalerContext.cs @@ -21,6 +21,7 @@ using System; using System.Runtime.InteropServices; using UnityEngine; +using UnityEngine.Profiling; using UnityEngine.Rendering; namespace FidelityFX.FSR3 @@ -65,6 +66,8 @@ namespace FidelityFX.FSR3 private Vector2 _previousJitterOffset; private float _preExposure; private float _previousFramePreExposure; + + private readonly CustomSampler _sampler = CustomSampler.Create("FSR3 Upscaler"); public void Create(Fsr3Upscaler.ContextDescription contextDescription) { @@ -144,6 +147,8 @@ namespace FidelityFX.FSR3 public void Dispatch(Fsr3Upscaler.DispatchDescription dispatchParams, CommandBuffer commandBuffer) { + commandBuffer.BeginSample(_sampler); + if ((_contextDescription.Flags & Fsr3Upscaler.InitializationFlags.EnableDebugChecking) != 0) { DebugCheckDispatch(dispatchParams); @@ -281,6 +286,7 @@ namespace FidelityFX.FSR3 Fsr3UpscalerResources.DestroyAliasableResources(commandBuffer); commandBuffer.DisableShaderKeyword("UNITY_FSR_TEXTURE2D_X_ARRAY"); + commandBuffer.EndSample(_sampler); } public void GenerateReactiveMask(Fsr3Upscaler.GenerateReactiveDescription dispatchParams)