mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-08-25 15:46:45 +00:00
added mising NVSDK_NGX_VULKAN_GetFeatureRequirements
This commit is contained in:
@@ -285,6 +285,42 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_AllocateParameters(NVSDK_NGX_Par
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_GetFeatureRequirements(VkInstance VulkanInstance, VkPhysicalDevice PhysicalDevice, const NVSDK_NGX_FeatureDiscoveryInfo* FeatureDiscoveryInfo, NVSDK_NGX_FeatureRequirement* OutSupported)
|
||||
{
|
||||
spdlog::debug("NVSDK_NGX_VULKAN_GetFeatureRequirements for ({0})", (int)FeatureDiscoveryInfo->FeatureID);
|
||||
|
||||
if (FeatureDiscoveryInfo->FeatureID == NVSDK_NGX_Feature_SuperSampling)
|
||||
{
|
||||
if (OutSupported == nullptr)
|
||||
*OutSupported = NVSDK_NGX_FeatureRequirement();
|
||||
|
||||
OutSupported->FeatureSupported = NVSDK_NGX_FeatureSupportResult_Supported;
|
||||
OutSupported->MinHWArchitecture = 0;
|
||||
|
||||
//Some old windows 10 os version
|
||||
strcpy_s(OutSupported->MinOSVersion, "10.0.10240.16384");
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
if (Config::Instance()->DLSSEnabled.value_or(true) && NVNGXProxy::NVNGXModule() == nullptr)
|
||||
NVNGXProxy::InitNVNGX();
|
||||
|
||||
if (Config::Instance()->DLSSEnabled.value_or(true) && NVNGXProxy::D3D12_GetFeatureRequirements() != nullptr)
|
||||
{
|
||||
spdlog::debug("NVSDK_NGX_D3D12_GetFeatureRequirements NVSDK_NGX_VULKAN_GetFeatureRequirements for ({0})", (int)FeatureDiscoveryInfo->FeatureID);
|
||||
auto result = NVNGXProxy::VULKAN_GetFeatureRequirements()(VulkanInstance, PhysicalDevice, FeatureDiscoveryInfo, OutSupported);
|
||||
spdlog::debug("NVSDK_NGX_D3D12_EvaluateFeature NVSDK_NGX_VULKAN_GetFeatureRequirements result for ({0}): {1:X}", (int)FeatureDiscoveryInfo->FeatureID, (UINT)result);
|
||||
return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
spdlog::debug("NVSDK_NGX_VULKAN_GetFeatureRequirements VULKAN_GetFeatureRequirements not available for ({0})", (int)FeatureDiscoveryInfo->FeatureID);
|
||||
}
|
||||
|
||||
OutSupported->FeatureSupported = NVSDK_NGX_FeatureSupportResult_AdapterUnsupported;
|
||||
return NVSDK_NGX_Result_FAIL_FeatureNotSupported;
|
||||
}
|
||||
|
||||
NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_GetCapabilityParameters(NVSDK_NGX_Parameter** OutParameters)
|
||||
{
|
||||
spdlog::debug("NVSDK_NGX_VULKAN_GetCapabilityParameters");
|
||||
|
||||
Reference in New Issue
Block a user