added mising NVSDK_NGX_VULKAN_GetFeatureRequirements

This commit is contained in:
cdozdil
2024-07-05 01:39:56 +03:00
parent d46f8e2861
commit ff56446dd4
+36
View File
@@ -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");