mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-08-28 17:16:46 +00:00
fsr 3.1.2
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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, ¶mReactiveMask) != 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, ¶ms.frameTimeDelta) != NVSDK_NGX_Result_Success || params.frameTimeDelta < 1.0f)
|
||||
if (InParameters->Get(NVSDK_NGX_Parameter_FrameTimeDeltaInMsec, ¶ms.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)
|
||||
|
||||
Reference in New Issue
Block a user