|
|
|
@ -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); |
|
|
|
|