@ -56,6 +56,8 @@
#include "fsr2/ffxm_fsr2_reproject.h"
#include "fsr2/ffxm_fsr2_reproject.h"
#include "fsr2/ffxm_fsr2_accumulate.h"
#include "fsr2/ffxm_fsr2_accumulate.h"
#pragma PSSL_target_output_format(target 1 FMT_FP16_ABGR)
struct AccumulateOutputsFS
struct AccumulateOutputsFS
{
{
#if !FFXM_SHADER_QUALITY_BALANCED_OR_PERFORMANCE
#if !FFXM_SHADER_QUALITY_BALANCED_OR_PERFORMANCE
@ -63,14 +65,14 @@ struct AccumulateOutputsFS
FfxFloat32x2 fLockStatus : SV_TARGET1;
FfxFloat32x2 fLockStatus : SV_TARGET1;
FfxFloat32x4 fLumaHistory : SV_TARGET2;
FfxFloat32x4 fLumaHistory : SV_TARGET2;
#if FFXM_FSR2_OPTION_APPLY_SHARPENING == 0
#if FFXM_FSR2_OPTION_APPLY_SHARPENING == 0
FfxFloat32x3 fColor : SV_TARGET3;
FfxFloat32x4 fColor : SV_TARGET3;
#endif
#endif
#else // FFXM_SHADER_QUALITY_BALANCED_OR_PERFORMANCE
#else // FFXM_SHADER_QUALITY_BALANCED_OR_PERFORMANCE
FfxFloat32x3 fUpscaledColor : SV_TARGET0;
FfxFloat32x4 fUpscaledColor : SV_TARGET0;
FfxFloat32 fTemporalReactive : SV_TARGET1;
FfxFloat32 fTemporalReactive : SV_TARGET1;
FfxFloat32x2 fLockStatus : SV_TARGET2;
FfxFloat32x2 fLockStatus : SV_TARGET2;
#if FFXM_FSR2_OPTION_APPLY_SHARPENING == 0
#if FFXM_FSR2_OPTION_APPLY_SHARPENING == 0
FfxFloat32x3 fColor : SV_TARGET3;
FfxFloat32x4 fColor : SV_TARGET3;
#endif
#endif
#endif
#endif
};
};
@ -84,12 +86,12 @@ AccumulateOutputsFS main(float4 SvPosition : SV_POSITION)
output.fColorAndWeight = result.fColorAndWeight;
output.fColorAndWeight = result.fColorAndWeight;
output.fLumaHistory = result.fLumaHistory;
output.fLumaHistory = result.fLumaHistory;
#else
#else
output.fUpscaledColor = result.fUpscaledColor;
output.fUpscaledColor = FfxFloat32x4( result.fUpscaledColor, 1.0f) ;
output.fTemporalReactive = result.fTemporalReactive;
output.fTemporalReactive = result.fTemporalReactive;
#endif
#endif
output.fLockStatus = result.fLockStatus;
output.fLockStatus = result.fLockStatus;
#if FFXM_FSR2_OPTION_APPLY_SHARPENING == 0
#if FFXM_FSR2_OPTION_APPLY_SHARPENING == 0
output.fColor = result.fColor;
output.fColor = FfxFloat32x4( result.fColor, 1.0f) ;
#endif
#endif
return output;
return output;
}
}