diff --git a/Runtime/Common/FfxPassBase.cs b/Runtime/Common/FfxPassBase.cs index af5a980..d4758a5 100644 --- a/Runtime/Common/FfxPassBase.cs +++ b/Runtime/Common/FfxPassBase.cs @@ -57,7 +57,7 @@ namespace FidelityFX Flags = flags; } - protected sealed override void InitComputeShader(string passName, ComputeShader shader, string kernelName = "CS") + protected override void InitComputeShader(string passName, ComputeShader shader, string kernelName = "CS") { base.InitComputeShader(passName, shader, kernelName); SetupShaderKeywords(); diff --git a/Runtime/FSR2/Fsr2Pass.cs b/Runtime/FSR2/Fsr2Pass.cs index 7db9e42..4d8df06 100644 --- a/Runtime/FSR2/Fsr2Pass.cs +++ b/Runtime/FSR2/Fsr2Pass.cs @@ -62,11 +62,11 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2ComputeLuminancePyramidPass : Fsr2Pass + internal sealed class Fsr2ComputeLuminancePyramidPass : Fsr2Pass { private readonly ComputeBuffer _spdConstants; - public Fsr2ComputeLuminancePyramidPass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants, ComputeBuffer spdConstants) + public Fsr2ComputeLuminancePyramidPass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants, ComputeBuffer spdConstants) : base(contextDescription, resources, constants) { _spdConstants = spdConstants; @@ -90,9 +90,9 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2ReconstructPreviousDepthPass : Fsr2Pass + internal sealed class Fsr2ReconstructPreviousDepthPass : Fsr2Pass { - public Fsr2ReconstructPreviousDepthPass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) + public Fsr2ReconstructPreviousDepthPass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Reconstruct & Dilate", contextDescription.Shaders.reconstructPreviousDepthPass); @@ -113,9 +113,9 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2DepthClipPass : Fsr2Pass + internal sealed class Fsr2DepthClipPass : Fsr2Pass { - public Fsr2DepthClipPass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) + public Fsr2DepthClipPass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Depth Clip", contextDescription.Shaders.depthClipPass); @@ -141,9 +141,9 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2LockPass : Fsr2Pass + internal sealed class Fsr2LockPass : Fsr2Pass { - public Fsr2LockPass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) + public Fsr2LockPass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Create Locks", contextDescription.Shaders.lockPass); @@ -158,7 +158,7 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2AccumulatePass : Fsr2Pass + internal sealed class Fsr2AccumulatePass : Fsr2Pass { private const string SharpeningKeyword = "FFX_FSR2_OPTION_APPLY_SHARPENING"; @@ -166,7 +166,7 @@ namespace FidelityFX.FSR2 private readonly LocalKeyword _sharpeningKeyword; #endif - public Fsr2AccumulatePass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) + public Fsr2AccumulatePass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Reproject & Accumulate", contextDescription.Shaders.accumulatePass); @@ -222,11 +222,11 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2SharpenPass : Fsr2Pass + internal sealed class Fsr2SharpenPass : Fsr2Pass { private readonly ComputeBuffer _rcasConstants; - public Fsr2SharpenPass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants, ComputeBuffer rcasConstants) + public Fsr2SharpenPass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants, ComputeBuffer rcasConstants) : base(contextDescription, resources, constants) { _rcasConstants = rcasConstants; @@ -248,11 +248,11 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2GenerateReactivePass : Fsr2Pass + internal sealed class Fsr2GenerateReactivePass : Fsr2Pass { private readonly ComputeBuffer _generateReactiveConstants; - public Fsr2GenerateReactivePass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer generateReactiveConstants) + public Fsr2GenerateReactivePass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer generateReactiveConstants) : base(contextDescription, resources, null) { _generateReactiveConstants = generateReactiveConstants; @@ -264,7 +264,7 @@ namespace FidelityFX.FSR2 { } - public void ScheduleDispatch(CommandBuffer commandBuffer, Fsr2.GenerateReactiveDescription dispatchParams, int dispatchX, int dispatchY) + public void ScheduleDispatch(CommandBuffer commandBuffer, in Fsr2.GenerateReactiveDescription dispatchParams, int dispatchX, int dispatchY) { commandBuffer.BeginSample(Sampler); @@ -280,11 +280,11 @@ namespace FidelityFX.FSR2 } } - internal class Fsr2TcrAutogeneratePass : Fsr2Pass + internal sealed class Fsr2TcrAutogeneratePass : Fsr2Pass { private readonly ComputeBuffer _tcrAutogenerateConstants; - public Fsr2TcrAutogeneratePass(Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants, ComputeBuffer tcrAutogenerateConstants) + public Fsr2TcrAutogeneratePass(in Fsr2.ContextDescription contextDescription, Fsr2Resources resources, ComputeBuffer constants, ComputeBuffer tcrAutogenerateConstants) : base(contextDescription, resources, constants) { _tcrAutogenerateConstants = tcrAutogenerateConstants; diff --git a/Runtime/FSR3/Fsr3UpscalerPass.cs b/Runtime/FSR3/Fsr3UpscalerPass.cs index 44ae5c0..73b7a3c 100644 --- a/Runtime/FSR3/Fsr3UpscalerPass.cs +++ b/Runtime/FSR3/Fsr3UpscalerPass.cs @@ -60,9 +60,9 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerPrepareInputsPass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerPrepareInputsPass : Fsr3UpscalerPass { - public Fsr3UpscalerPrepareInputsPass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) + public Fsr3UpscalerPrepareInputsPass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Prepare Inputs", contextDescription.Shaders.prepareInputsPass); @@ -86,11 +86,11 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerLumaPyramidPass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerLumaPyramidPass : Fsr3UpscalerPass { private readonly ComputeBuffer _spdConstants; - public Fsr3UpscalerLumaPyramidPass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer spdConstants) + public Fsr3UpscalerLumaPyramidPass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer spdConstants) : base(contextDescription, resources, constants) { _spdConstants = spdConstants; @@ -119,11 +119,11 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerShadingChangePyramidPass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerShadingChangePyramidPass : Fsr3UpscalerPass { private readonly ComputeBuffer _spdConstants; - public Fsr3UpscalerShadingChangePyramidPass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer spdConstants) + public Fsr3UpscalerShadingChangePyramidPass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer spdConstants) : base(contextDescription, resources, constants) { _spdConstants = spdConstants; @@ -153,9 +153,9 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerShadingChangePass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerShadingChangePass : Fsr3UpscalerPass { - public Fsr3UpscalerShadingChangePass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) + public Fsr3UpscalerShadingChangePass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Compute Shading Change", contextDescription.Shaders.shadingChangePass); @@ -171,9 +171,9 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerPrepareReactivityPass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerPrepareReactivityPass : Fsr3UpscalerPass { - public Fsr3UpscalerPrepareReactivityPass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) + public Fsr3UpscalerPrepareReactivityPass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Prepare Reactivity", contextDescription.Shaders.prepareReactivityPass); @@ -199,9 +199,9 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerLumaInstabilityPass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerLumaInstabilityPass : Fsr3UpscalerPass { - public Fsr3UpscalerLumaInstabilityPass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) + public Fsr3UpscalerLumaInstabilityPass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Compute Luminance Instability", contextDescription.Shaders.lumaInstabilityPass); @@ -226,7 +226,7 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerAccumulatePass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerAccumulatePass : Fsr3UpscalerPass { private const string SharpeningKeyword = "FFX_FSR3UPSCALER_OPTION_APPLY_SHARPENING"; @@ -234,7 +234,7 @@ namespace FidelityFX.FSR3 private readonly LocalKeyword _sharpeningKeyword; #endif - public Fsr3UpscalerAccumulatePass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) + public Fsr3UpscalerAccumulatePass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Accumulate", contextDescription.Shaders.accumulatePass); @@ -285,11 +285,11 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerSharpenPass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerSharpenPass : Fsr3UpscalerPass { private readonly ComputeBuffer _rcasConstants; - public Fsr3UpscalerSharpenPass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer rcasConstants) + public Fsr3UpscalerSharpenPass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer rcasConstants) : base(contextDescription, resources, constants) { _rcasConstants = rcasConstants; @@ -311,11 +311,11 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerGenerateReactivePass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerGenerateReactivePass : Fsr3UpscalerPass { private readonly ComputeBuffer _generateReactiveConstants; - public Fsr3UpscalerGenerateReactivePass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer generateReactiveConstants) + public Fsr3UpscalerGenerateReactivePass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer generateReactiveConstants) : base(contextDescription, resources, null) { _generateReactiveConstants = generateReactiveConstants; @@ -327,7 +327,7 @@ namespace FidelityFX.FSR3 { } - public void ScheduleDispatch(CommandBuffer commandBuffer, Fsr3Upscaler.GenerateReactiveDescription dispatchParams, int dispatchX, int dispatchY) + public void ScheduleDispatch(CommandBuffer commandBuffer, in Fsr3Upscaler.GenerateReactiveDescription dispatchParams, int dispatchX, int dispatchY) { commandBuffer.BeginSample(Sampler); @@ -343,11 +343,11 @@ namespace FidelityFX.FSR3 } } - internal class Fsr3UpscalerTcrAutogeneratePass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerTcrAutogeneratePass : Fsr3UpscalerPass { private readonly ComputeBuffer _tcrAutogenerateConstants; - public Fsr3UpscalerTcrAutogeneratePass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer tcrAutogenerateConstants) + public Fsr3UpscalerTcrAutogeneratePass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants, ComputeBuffer tcrAutogenerateConstants) : base(contextDescription, resources, constants) { _tcrAutogenerateConstants = tcrAutogenerateConstants; @@ -378,9 +378,9 @@ namespace FidelityFX.FSR3 } #if UNITY_EDITOR || DEVELOPMENT_BUILD - internal class Fsr3UpscalerDebugViewPass : Fsr3UpscalerPass + internal sealed class Fsr3UpscalerDebugViewPass : Fsr3UpscalerPass { - public Fsr3UpscalerDebugViewPass(Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) + public Fsr3UpscalerDebugViewPass(in Fsr3Upscaler.ContextDescription contextDescription, Fsr3UpscalerResources resources, ComputeBuffer constants) : base(contextDescription, resources, constants) { InitComputeShader("Debug View", contextDescription.Shaders.debugViewPass);