fsr 3.1.2

This commit is contained in:
cdozdil
2024-11-04 01:36:18 +03:00
parent 634a12c1f3
commit df1bd0ff17
2 changed files with 20 additions and 20 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ private:
bool _depthInverted = false;
unsigned int _lastWidth = 0;
unsigned int _lastHeight = 0;
static inline feature_version _version{ 3, 1, 1 };
static inline feature_version _version{ 3, 1, 2 };
protected:
std::string _name = "FSR 3.X";
+19 -19
View File
@@ -16,7 +16,7 @@ do { \
} \
} while((void)0, 0);
FSR31FeatureDx11::FSR31FeatureDx11(unsigned int InHandleId, NVSDK_NGX_Parameter * InParameters) : FSR31Feature(InHandleId, InParameters), IFeature_Dx11(InHandleId, InParameters), IFeature(InHandleId, InParameters)
FSR31FeatureDx11::FSR31FeatureDx11(unsigned int InHandleId, NVSDK_NGX_Parameter* InParameters) : FSR31Feature(InHandleId, InParameters), IFeature_Dx11(InHandleId, InParameters), IFeature(InHandleId, InParameters)
{
_moduleLoaded = true;
}
@@ -52,7 +52,7 @@ Fsr31::FfxResource ffxGetResource(ID3D11Resource* dx11Resource,
wchar_t const* ffxResName,
Fsr31::FfxResourceStates state = Fsr31::FFX_RESOURCE_STATE_COMPUTE_READ)
{
Fsr31::FfxResource resource = {};
Fsr31::FfxResource resource = {};
resource.resource = reinterpret_cast<void*>(const_cast<ID3D11Resource*>(dx11Resource));
resource.state = state;
resource.description = Fsr31::GetFfxResourceDescriptionDX11(dx11Resource);
@@ -130,7 +130,7 @@ void FSR31FeatureDx11::ReleaseResources()
bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Parameter* InParameters)
{
LOG_FUNC();
LOG_FUNC();
if (!IsInited())
return false;
@@ -141,7 +141,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
if (!OutputScaler->IsInit())
Config::Instance()->OutputScalingEnabled = false;
Fsr31::FfxFsr3DispatchUpscaleDescription params{};
Fsr31::FfxFsr3DispatchUpscaleDescription params{};
if (Config::Instance()->FsrDebugView.value_or(false))
params.flags = Fsr31::FFX_FSR3_UPSCALER_FLAG_DRAW_DEBUG_VIEW;
@@ -152,7 +152,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
if (Config::Instance()->OverrideSharpness.value_or(false))
_sharpness = Config::Instance()->Sharpness.value_or(0.3);
else
else
_sharpness = GetSharpness(InParameters);
if (Config::Instance()->RcasEnabled.value_or(false))
@@ -200,7 +200,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
if (bufferColor.Texture != nullptr)
params.color = ffxGetResource(bufferColor.Texture, L"FSR3_Input_OutputColor", Fsr31::FFX_RESOURCE_STATE_PIXEL_COMPUTE_READ);
else
params.color = ffxGetResource(paramColor, L"FSR3_Input_OutputColor", Fsr31::FFX_RESOURCE_STATE_PIXEL_COMPUTE_READ);
params.color = ffxGetResource(paramColor, L"FSR3_Input_OutputColor", Fsr31::FFX_RESOURCE_STATE_PIXEL_COMPUTE_READ);
}
else
{
@@ -253,7 +253,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
{
if (OutputScaler->CreateBufferResource(Device, paramOutput, TargetWidth(), TargetHeight()))
{
params.upscaleOutput = ffxGetResource(OutputScaler->Buffer(),L"FSR3_Output", Fsr31::FFX_RESOURCE_STATE_UNORDERED_ACCESS);
params.upscaleOutput = ffxGetResource(OutputScaler->Buffer(), L"FSR3_Output", Fsr31::FFX_RESOURCE_STATE_UNORDERED_ACCESS);
}
else
params.upscaleOutput = ffxGetResource(paramOutput, L"FSR3_Output", Fsr31::FFX_RESOURCE_STATE_UNORDERED_ACCESS);
@@ -315,7 +315,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
{
LOG_DEBUG("AutoExposure enabled!");
}
ID3D11Resource* paramReactiveMask = nullptr;
if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, &paramReactiveMask) != NVSDK_NGX_Result_Success)
@@ -336,7 +336,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
{
if (Bias->Dispatch(Device, DeviceContext, (ID3D11Texture2D*)paramReactiveMask, Config::Instance()->DlssReactiveMaskBias.value_or(0.45f), Bias->Buffer()))
{
params.reactive = ffxGetResource(Bias->Buffer(),L"FSR3_InputReactiveMap", Fsr31::FFX_RESOURCE_STATE_PIXEL_COMPUTE_READ);
params.reactive = ffxGetResource(Bias->Buffer(), L"FSR3_InputReactiveMap", Fsr31::FFX_RESOURCE_STATE_PIXEL_COMPUTE_READ);
}
}
else
@@ -374,7 +374,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
LOG_DEBUG("Sharpness: {0}", params.sharpness);
if (IsDepthInverted())
if (IsDepthInverted())
{
params.cameraFar = Config::Instance()->FsrCameraNear.value_or(0.01f);
params.cameraNear = Config::Instance()->FsrCameraFar.value_or(0.99f);
@@ -395,7 +395,7 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
LOG_DEBUG("FsrVerticalFov: {0}", params.cameraFovAngleVertical);
if (InParameters->Get(NVSDK_NGX_Parameter_FrameTimeDeltaInMsec, &params.frameTimeDelta) != NVSDK_NGX_Result_Success || params.frameTimeDelta < 1.0f)
if (InParameters->Get(NVSDK_NGX_Parameter_FrameTimeDeltaInMsec, &params.frameTimeDelta) != NVSDK_NGX_Result_Success || params.frameTimeDelta < 1.0f)
params.frameTimeDelta = (float)GetDeltaTime();
LOG_DEBUG("FrameTimeDeltaInMsec: {0}", params.frameTimeDelta);
@@ -499,16 +499,16 @@ bool FSR31FeatureDx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa
FSR31FeatureDx11::~FSR31FeatureDx11()
{
if (!IsInited())
return;
return;
auto errorCode = Fsr31::ffxFsr3ContextDestroy(&_upscalerContext);
auto errorCode = Fsr31::ffxFsr3ContextDestroy(&_upscalerContext);
if (errorCode != Fsr31::FFX_OK)
spdlog::error("FSR31FeatureDx11::~FSR31FeatureDx11 ffxFsr3ContextDestroy error: {0:x}", errorCode);
if (errorCode != Fsr31::FFX_OK)
spdlog::error("FSR31FeatureDx11::~FSR31FeatureDx11 ffxFsr3ContextDestroy error: {0:x}", errorCode);
free(_upscalerContextDesc.backendInterfaceUpscaling.scratchBuffer);
free(_upscalerContextDesc.backendInterfaceUpscaling.scratchBuffer);
SetInit(false);
SetInit(false);
}
bool FSR31FeatureDx11::InitFSR3(const NVSDK_NGX_Parameter* InParameters)
@@ -538,7 +538,7 @@ bool FSR31FeatureDx11::InitFSR3(const NVSDK_NGX_Parameter* InParameters)
Config::Instance()->fsr3xVersionIds.resize(versionCount);
Config::Instance()->fsr3xVersionNames.resize(versionCount);
Config::Instance()->fsr3xVersionIds.push_back(1);
auto version_number = "3.1.1";
auto version_number = "3.1.2";
Config::Instance()->fsr3xVersionNames.push_back(version_number);
@@ -682,7 +682,7 @@ bool FSR31FeatureDx11::InitFSR3(const NVSDK_NGX_Parameter* InParameters)
if (Config::Instance()->Fsr3xIndex.value_or(0) < 0 || Config::Instance()->Fsr3xIndex.value_or(0) >= Config::Instance()->fsr3xVersionIds.size())
Config::Instance()->Fsr3xIndex = 0;
LOG_DEBUG("_createContext!");
LOG_DEBUG("_createContext!");
auto ret = ffxFsr3ContextCreate(&_upscalerContext, &_upscalerContextDesc);
if (ret != Fsr31::FFX_OK)