mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-05-29 13:01:18 +00:00
Add reactve mask support from FSR inputs to FSR upscalers
This commit is contained in:
@@ -240,17 +240,13 @@ bool FSR2FeatureDx12::Evaluate(ID3D12GraphicsCommandList* InCommandList, NVSDK_N
|
||||
}
|
||||
|
||||
ID3D12Resource* paramTransparency = nullptr;
|
||||
if (InParameters->Get("FSR.transparencyAndComposition", ¶mTransparency) == NVSDK_NGX_Result_Success)
|
||||
InParameters->Get("FSR.transparencyAndComposition", (void**) ¶mTransparency);
|
||||
InParameters->Get("FSR.transparencyAndComposition", (void**) ¶mTransparency);
|
||||
|
||||
ID3D12Resource* paramReactiveMask = nullptr;
|
||||
if (InParameters->Get("FSR.reactive", ¶mReactiveMask) == NVSDK_NGX_Result_Success)
|
||||
InParameters->Get("FSR.reactive", (void**) ¶mReactiveMask);
|
||||
InParameters->Get("FSR.reactive", (void**) ¶mReactiveMask);
|
||||
|
||||
ID3D12Resource* paramReactiveMask2 = nullptr;
|
||||
if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask2) !=
|
||||
NVSDK_NGX_Result_Success)
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, (void**) ¶mReactiveMask2);
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, (void**) ¶mReactiveMask2);
|
||||
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(paramReactiveMask == nullptr &&
|
||||
paramReactiveMask2 == nullptr))
|
||||
|
||||
@@ -241,45 +241,75 @@ bool FSR2FeatureVk::Evaluate(VkCommandBuffer InCmdBuffer, NVSDK_NGX_Parameter* I
|
||||
}
|
||||
}
|
||||
|
||||
void* paramTransparency = nullptr;
|
||||
InParameters->Get("FSR.transparencyAndComposition", ¶mTransparency);
|
||||
|
||||
void* paramReactiveMask = nullptr;
|
||||
if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask) !=
|
||||
NVSDK_NGX_Result_Success)
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, (void**) ¶mReactiveMask);
|
||||
InParameters->Get("FSR.reactive", ¶mReactiveMask);
|
||||
|
||||
if (paramReactiveMask && Config::Instance()->FsrUseMaskForTransparency.value_or_default())
|
||||
{
|
||||
params.transparencyAndComposition = ffxGetTextureResourceVK(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Transparency", FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
void* paramReactiveMask2 = nullptr;
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask2);
|
||||
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(paramReactiveMask == nullptr))
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(paramReactiveMask == nullptr &&
|
||||
paramReactiveMask2 == nullptr))
|
||||
{
|
||||
if (paramReactiveMask)
|
||||
if (paramTransparency != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Bias mask exist..");
|
||||
LOG_DEBUG("Using FSR transparency mask..");
|
||||
params.transparencyAndComposition = ffxGetTextureResourceVK(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
|
||||
if (Config::Instance()->DlssReactiveMaskBias.value_or_default() > 0.0f)
|
||||
{
|
||||
params.reactive = ffxGetTextureResourceVK(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
if (paramReactiveMask != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Using FSR reactive mask..");
|
||||
params.reactive = ffxGetTextureResourceVK(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_DEBUG("Bias mask not exist and its enabled in config, it may cause problems!!");
|
||||
Config::Instance()->DisableReactiveMask.set_volatile_value(true);
|
||||
State::Instance().changeBackend[Handle()->Id] = true;
|
||||
return true;
|
||||
if (paramReactiveMask2 != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Bias mask exist..");
|
||||
if (Config::Instance()->FsrUseMaskForTransparency.value_or_default())
|
||||
{
|
||||
params.transparencyAndComposition = ffxGetTextureResourceVK(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Transparency", FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
|
||||
|
||||
if (Config::Instance()->DlssReactiveMaskBias.value_or_default() > 0.0f)
|
||||
{
|
||||
params.reactive = ffxGetTextureResourceVK(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_DEBUG("Bias mask not exist and its enabled in config, it may cause problems!!");
|
||||
Config::Instance()->DisableReactiveMask.set_volatile_value(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -288,7 +318,7 @@ bool FSR2FeatureVk::Evaluate(VkCommandBuffer InCmdBuffer, NVSDK_NGX_Parameter* I
|
||||
_hasMV = params.motionVectors.resource != nullptr;
|
||||
_hasExposure = params.exposure.resource != nullptr;
|
||||
_hasTM = params.transparencyAndComposition.resource != nullptr;
|
||||
_accessToReactiveMask = paramReactiveMask != nullptr;
|
||||
_accessToReactiveMask = paramReactiveMask != nullptr || paramReactiveMask2 != nullptr;
|
||||
_hasOutput = params.output.resource != nullptr;
|
||||
|
||||
float MVScaleX = 1.0f;
|
||||
|
||||
@@ -283,45 +283,74 @@ bool FSR2FeatureVk212::Evaluate(VkCommandBuffer InCmdBuffer, NVSDK_NGX_Parameter
|
||||
}
|
||||
}
|
||||
|
||||
void* paramTransparency = nullptr;
|
||||
InParameters->Get("FSR.transparencyAndComposition", ¶mTransparency);
|
||||
|
||||
void* paramReactiveMask = nullptr;
|
||||
if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask) !=
|
||||
NVSDK_NGX_Result_Success)
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, (void**) ¶mReactiveMask);
|
||||
InParameters->Get("FSR.reactive", ¶mReactiveMask);
|
||||
|
||||
if (paramReactiveMask && Config::Instance()->FsrUseMaskForTransparency.value_or_default())
|
||||
{
|
||||
params.transparencyAndComposition = Fsr212::ffxGetTextureResourceVK212(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Transparency", Fsr212::FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
void* paramReactiveMask2 = nullptr;
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask2);
|
||||
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(paramReactiveMask == nullptr))
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(paramReactiveMask == nullptr &&
|
||||
paramReactiveMask2 == nullptr))
|
||||
{
|
||||
if (paramReactiveMask)
|
||||
if (paramTransparency != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Bias mask exist..");
|
||||
LOG_DEBUG("Using FSR transparency mask..");
|
||||
params.transparencyAndComposition = Fsr212::ffxGetTextureResourceVK212(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", Fsr212::FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
|
||||
if (Config::Instance()->DlssReactiveMaskBias.value_or_default() > 0.0f)
|
||||
{
|
||||
params.reactive = Fsr212::ffxGetTextureResourceVK212(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", Fsr212::FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
if (paramReactiveMask != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Using FSR reactive mask..");
|
||||
params.reactive = Fsr212::ffxGetTextureResourceVK212(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", Fsr212::FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_DEBUG("Bias mask not exist and its enabled in config, it may cause problems!!");
|
||||
Config::Instance()->DisableReactiveMask.set_volatile_value(true);
|
||||
State::Instance().changeBackend[Handle()->Id] = true;
|
||||
return true;
|
||||
if (paramReactiveMask2 != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Bias mask exist..");
|
||||
if (Config::Instance()->FsrUseMaskForTransparency.value_or_default())
|
||||
{
|
||||
params.transparencyAndComposition = Fsr212::ffxGetTextureResourceVK212(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Transparency", Fsr212::FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
|
||||
if (Config::Instance()->DlssReactiveMaskBias.value_or_default() > 0.0f)
|
||||
{
|
||||
params.reactive = Fsr212::ffxGetTextureResourceVK212(
|
||||
&_context, ((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Image,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.ImageView,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Width,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Height,
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Format,
|
||||
(wchar_t*) L"FSR2_Reactive", Fsr212::FFX_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_DEBUG("Bias mask not exist and its enabled in config, it may cause problems!!");
|
||||
Config::Instance()->DisableReactiveMask.set_volatile_value(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -330,7 +359,7 @@ bool FSR2FeatureVk212::Evaluate(VkCommandBuffer InCmdBuffer, NVSDK_NGX_Parameter
|
||||
_hasMV = params.motionVectors.resource != nullptr;
|
||||
_hasExposure = params.exposure.resource != nullptr;
|
||||
_hasTM = params.transparencyAndComposition.resource != nullptr;
|
||||
_accessToReactiveMask = paramReactiveMask != nullptr;
|
||||
_accessToReactiveMask = paramReactiveMask != nullptr || paramReactiveMask2 != nullptr;
|
||||
_hasOutput = params.output.resource != nullptr;
|
||||
|
||||
float MVScaleX = 1.0f;
|
||||
|
||||
@@ -397,41 +397,63 @@ bool FSR31FeatureVk::Evaluate(VkCommandBuffer InCmdBuffer, NVSDK_NGX_Parameter*
|
||||
}
|
||||
}
|
||||
|
||||
void* paramTransparency = nullptr;
|
||||
InParameters->Get("FSR.transparencyAndComposition", ¶mTransparency);
|
||||
|
||||
void* paramReactiveMask = nullptr;
|
||||
if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask) !=
|
||||
NVSDK_NGX_Result_Success)
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, (void**) ¶mReactiveMask);
|
||||
InParameters->Get("FSR.reactive", ¶mReactiveMask);
|
||||
|
||||
if (paramReactiveMask && Config::Instance()->FsrUseMaskForTransparency.value_or_default())
|
||||
void* paramReactiveMask2 = nullptr;
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask2);
|
||||
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(paramReactiveMask == nullptr &&
|
||||
paramReactiveMask2 == nullptr))
|
||||
{
|
||||
params.transparencyAndComposition =
|
||||
ffxApiGetResourceVK(((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
ffxApiGetImageResourceDescriptionVKLocal((NVSDK_NGX_Resource_VK*) paramReactiveMask),
|
||||
FFX_API_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(paramReactiveMask == nullptr))
|
||||
{
|
||||
InParameters->Get(NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask, ¶mReactiveMask);
|
||||
|
||||
if (paramReactiveMask)
|
||||
if (paramTransparency != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Bias mask exist..");
|
||||
LOG_DEBUG("Using FSR transparency mask..");
|
||||
params.transparencyAndComposition = ffxApiGetResourceVK(
|
||||
((NVSDK_NGX_Resource_VK*) paramTransparency)->Resource.ImageViewInfo.Image,
|
||||
ffxApiGetImageResourceDescriptionVKLocal((NVSDK_NGX_Resource_VK*) paramTransparency),
|
||||
FFX_API_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
|
||||
if (Config::Instance()->DlssReactiveMaskBias.value_or_default() > 0.0f)
|
||||
{
|
||||
params.reactive = ffxApiGetResourceVK(
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
ffxApiGetImageResourceDescriptionVKLocal((NVSDK_NGX_Resource_VK*) paramReactiveMask),
|
||||
FFX_API_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
if (paramReactiveMask != nullptr)
|
||||
{
|
||||
LOG_DEBUG("Using FSR reactive mask..");
|
||||
params.reactive = ffxApiGetResourceVK(
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask)->Resource.ImageViewInfo.Image,
|
||||
ffxApiGetImageResourceDescriptionVKLocal((NVSDK_NGX_Resource_VK*) paramReactiveMask),
|
||||
FFX_API_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_DEBUG("Bias mask not exist and its enabled in config, it may cause problems!!");
|
||||
Config::Instance()->DisableReactiveMask.set_volatile_value(true);
|
||||
State::Instance().changeBackend[Handle()->Id] = true;
|
||||
return true;
|
||||
if (paramReactiveMask2 != nullptr)
|
||||
{
|
||||
if (Config::Instance()->FsrUseMaskForTransparency.value_or_default())
|
||||
{
|
||||
params.transparencyAndComposition = ffxApiGetResourceVK(
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Image,
|
||||
ffxApiGetImageResourceDescriptionVKLocal((NVSDK_NGX_Resource_VK*) paramReactiveMask2),
|
||||
FFX_API_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
|
||||
LOG_DEBUG("Bias mask exist..");
|
||||
|
||||
if (Config::Instance()->DlssReactiveMaskBias.value_or_default() > 0.0f)
|
||||
{
|
||||
params.reactive = ffxApiGetResourceVK(
|
||||
((NVSDK_NGX_Resource_VK*) paramReactiveMask2)->Resource.ImageViewInfo.Image,
|
||||
ffxApiGetImageResourceDescriptionVKLocal((NVSDK_NGX_Resource_VK*) paramReactiveMask2),
|
||||
FFX_API_RESOURCE_STATE_COMPUTE_READ);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_DEBUG("Bias mask not exist and its enabled in config, it may cause problems!!");
|
||||
Config::Instance()->DisableReactiveMask.set_volatile_value(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -440,7 +462,7 @@ bool FSR31FeatureVk::Evaluate(VkCommandBuffer InCmdBuffer, NVSDK_NGX_Parameter*
|
||||
_hasMV = params.motionVectors.resource != nullptr;
|
||||
_hasExposure = params.exposure.resource != nullptr;
|
||||
_hasTM = params.transparencyAndComposition.resource != nullptr;
|
||||
_accessToReactiveMask = paramReactiveMask != nullptr;
|
||||
_accessToReactiveMask = paramReactiveMask != nullptr || paramReactiveMask2 != nullptr;
|
||||
_hasOutput = params.output.resource != nullptr;
|
||||
|
||||
float MVScaleX = 1.0f;
|
||||
|
||||
Reference in New Issue
Block a user