| 304 | } |
| 305 | |
| 306 | NGXWrapper::OptimalSettings NGXWrapper::queryOptimalSettings(uint2 displaySize, NVSDK_NGX_PerfQuality_Value perfQuality) const |
| 307 | { |
| 308 | OptimalSettings settings; |
| 309 | |
| 310 | THROW_IF_FAILED(NGX_DLSS_GET_OPTIMAL_SETTINGS( |
| 311 | mpParameters, |
| 312 | displaySize.x, |
| 313 | displaySize.y, |
| 314 | perfQuality, |
| 315 | &settings.optimalRenderSize.x, |
| 316 | &settings.optimalRenderSize.y, |
| 317 | &settings.maxRenderSize.x, |
| 318 | &settings.maxRenderSize.y, |
| 319 | &settings.minRenderSize.x, |
| 320 | &settings.minRenderSize.y, |
| 321 | &settings.sharpness |
| 322 | )); |
| 323 | |
| 324 | // Depending on what version of DLSS DLL is being used, a sharpness of > 1.f was possible. |
| 325 | settings.sharpness = math::clamp(settings.sharpness, -1.f, 1.f); |
| 326 | |
| 327 | return settings; |
| 328 | } |
| 329 | |
| 330 | bool NGXWrapper::evaluateDLSS( |
| 331 | RenderContext* pRenderContext, |