Browse Source

Use derived classes to reference passes.

fsr3framegen
Nico de Poel 2 years ago
parent
commit
9c377cc144
  1. 24
      Runtime/FrameInterpolation/FrameInterpolationContext.cs
  2. 15
      Runtime/OpticalFlow/OpticalFlowContext.cs

24
Runtime/FrameInterpolation/FrameInterpolationContext.cs

@ -11,17 +11,17 @@ namespace FidelityFX.FrameGen
{
private FrameInterpolation.ContextDescription _contextDescription;
private FrameInterpolationPass _reconstructAndDilatePass;
private FrameInterpolationPass _setupPass;
private FrameInterpolationPass _reconstructPreviousDepthPass;
private FrameInterpolationPass _gameMotionVectorFieldPass;
private FrameInterpolationPass _opticalFlowVectorFieldPass;
private FrameInterpolationPass _disocclusionMaskPass;
private FrameInterpolationPass _interpolationPass;
private FrameInterpolationPass _inpaintingPyramidPass;
private FrameInterpolationPass _inpaintingPass;
private FrameInterpolationPass _gameVectorFieldInpaintingPyramidPass;
private FrameInterpolationPass _debugViewPass;
private FrameInterpolationReconstructAndDilatePass _reconstructAndDilatePass;
private FrameInterpolationSetupPass _setupPass;
private FrameInterpolationReconstructPreviousDepthPass _reconstructPreviousDepthPass;
private FrameInterpolationGameMotionVectorFieldPass _gameMotionVectorFieldPass;
private FrameInterpolationOpticalFlowVectorFieldPass _opticalFlowVectorFieldPass;
private FrameInterpolationDisocclusionMaskPass _disocclusionMaskPass;
private FrameInterpolationInterpolationPass _interpolationPass;
private FrameInterpolationInpaintingPyramidPass _inpaintingPyramidPass;
private FrameInterpolationInpaintingPass _inpaintingPass;
private FrameInterpolationGameVectorFieldInpaintingPyramidPass _gameVectorFieldInpaintingPyramidPass;
private FrameInterpolationDebugViewPass _debugViewPass;
private readonly FrameInterpolationResources _resources = new FrameInterpolationResources();
@ -120,7 +120,7 @@ namespace FidelityFX.FrameGen
int renderDispatchSizeX = (prepareDescription.renderSize.x + 7) / 8;
int renderDispatchSizeY = (prepareDescription.renderSize.y + 7) / 8;
((FrameInterpolationReconstructAndDilatePass)_reconstructAndDilatePass).ScheduleDispatch(commandBuffer, prepareDescription, doubleBufferId, renderDispatchSizeX, renderDispatchSizeY);
_reconstructAndDilatePass.ScheduleDispatch(commandBuffer, prepareDescription, doubleBufferId, renderDispatchSizeX, renderDispatchSizeY);
commandBuffer.EndSample(_prepareSampler);
}

15
Runtime/OpticalFlow/OpticalFlowContext.cs

@ -15,13 +15,13 @@ namespace FidelityFX.FrameGen
private OpticalFlow.ContextDescription _contextDescription;
private OpticalFlowPass _prepareLumaPass;
private OpticalFlowPass _generateInputPyramidPass;
private OpticalFlowPass _generateScdHistogramPass;
private OpticalFlowPass _computeScdDivergencePass;
private OpticalFlowPass _computeOpticalFlowPass;
private OpticalFlowPass _filterOpticalFlowPass;
private OpticalFlowPass _scaleOpticalFlowPass;
private OpticalFlowPrepareLumaPass _prepareLumaPass;
private OpticalFlowGenerateInputPyramidPass _generateInputPyramidPass;
private OpticalFlowGenerateSCDHistogramPass _generateScdHistogramPass;
private OpticalFlowComputeSCDDivergencePass _computeScdDivergencePass;
private OpticalFlowComputePass _computeOpticalFlowPass;
private OpticalFlowFilterPass _filterOpticalFlowPass;
private OpticalFlowScalePass _scaleOpticalFlowPass;
private readonly OpticalFlowResources _resources = new OpticalFlowResources();
@ -31,6 +31,7 @@ namespace FidelityFX.FrameGen
private bool _firstExecution;
private int _resourceFrameIndex;
private readonly Vector2Int[] _opticalFlowTextureSizes = new Vector2Int[OpticalFlow.OpticalFlowMaxPyramidLevels];
private readonly CustomSampler _sampler = CustomSampler.Create("Optical Flow");
public void Create(in OpticalFlow.ContextDescription contextDescription)

Loading…
Cancel
Save