Merge branch 'imgui-intergration' of https://github.com/cdozdil/CyberXeSS into imgui-intergration

This commit is contained in:
cdozdil
2024-04-17 00:40:08 +03:00
7 changed files with 128 additions and 2 deletions
+110 -1
View File
@@ -105,7 +105,7 @@ NetworkModel=auto
[CAS]
; Enables CAS shapening for XeSS
; true or false - Default (auto) is true
; true or false - Default (auto) is false
Enabled=auto
; Color space conversion for input and output
@@ -120,6 +120,11 @@ ColorSpaceConversion=auto
#### CAS
Normally XeSS tend to create softer final image compared to other upscalers and have no sharpening option to mitigate it. So OmniScaler allows you to use AMD's CAS sharpening filter on final image to balance upscaled images soft look. CAS is not perfect tho, on some games it causes some artifacts/issues like dissapering bloom effects, shifting color tone of image or causing black screen with no image at all.
![cas](images/cas.png)
1. Bloom removed
2. Color tone is changed
`ColorSpaceConversion` for fixing color space conversion issues but **almost always** default setting would work ok.
From in-game menu it can be changed with realtime results.
@@ -164,6 +169,110 @@ From in-game menu it can be changed with realtime results.
![sharpness](images/sharpness.png)
### Upscaling Ratios
OmniScaler provides different options to override and lock upscaling ratios.
#### Upscale Ratio Override
`UpscaleRatioOverride` lets you select a single upscale ratio for all quality presets.
```ini
[UpscaleRatio]
; Set this to true to enable the internal resolution override
; true or false - Default (auto) is false
UpscaleRatioOverrideEnabled=auto
; Set this to true to enable limiting DRS max resolution to overriden ratio
; true or false - Default (auto) is false
DrsMaxOverrideEnabled=auto
; Set the forced upscale ratio value
; Default (auto) is 1.3
UpscaleRatioOverrideValue=auto
```
From in-game menu it can be changed and saved but usually after restarting game or resolution change setting become effective.
![us ratio](images/us_ratio.png)
#### Quality Ratio Override
`QualityRatioOverride` lets you override upscale ratio for each quality quality preset.
```ini
[QualityOverrides]
; Set this to true to enable custom quality mode overrides
; true or false - Default (auto) is false
QualityRatioOverrideEnabled=auto
; Set custom upscaling ratio for each quality mode
;
; Default (auto) values:
; Ultra Quality : 1.3
; Quality : 1.5
; Balanced : 1.7
; Performance : 2.0
; Ultra Performance : 3.0
QualityRatioUltraQuality=auto
QualityRatioQuality=auto
QualityRatioBalanced=auto
QualityRatioPerformance=auto
QualityRatioUltraPerformance=auto
```
**When both overrides enabled `Upscale Ratio Override` have priority over `Quality Ratio Override`.**
When `DrsMaxOverrideEnabled` is enabled it limits maximum internal rendering resolution to preset rendering resolution instead of display resolution for DRS supported games. When enabled it effectively disables DRS. Works with both `QualityRatioOverride` and `UpscaleRatioOverride`
From in-game menu it can be changed and saved but usually after restarting game or resolution change setting become effective.
![quality ratio](images/q_ratio.png)
### Init Flags
These settings lets you override DLSS init flags to fix some issues.
```ini
[Depth]
; Force add INVERTED_DEPTH to init flags
; true or false - Default (auto) is DLSS value
DepthInverted=auto
[Color]
; Force add ENABLE_AUTOEXPOSURE to init flags
; Some Unreal Engine games needs this, fixes colors specially in dark areas
; true or false - Default (auto) is DLSS value
AutoExposure=auto
; Force add HDR_INPUT_COLOR to init flags
; true or false - Default (auto) is DLSS value
HDR=auto
[MotionVectors]
; Force add JITTERED_MV flag to init flags
; true or false - Default (auto) is DLSS value
JitterCancellation=auto
; Force add HIGH_RES_MV flag to init flags
; true or false - Default (auto) is DLSS value
DisplayResolution=auto
[Hotfix]
; Force remove RESPONSIVE_PIXEL_MASK from init flags
; true or false - Default (auto) is true
DisableReactiveMask=auto
```
Enabling `AutoExposure` helps you to correct issues with dark color or crushed colors.
![exposure](/images/exposure.png)
Enabling `HDR` reported to help on purples color hue on some games.
Enabling `DisableReactiveMask` might help FSR backends in some games but usually it creates more issues than it solves. That's why it's disabled by default.
Some games might motion vector size flag wrong which would cause excessive motion blur on camera movement. Enabling or disabling `DisplayResolution` might help on these situations.
![wrong mv flag](/images/mv_wrong.png)
From in-game menu they can be changed with realtime results.
![init flags](images/init_flags.png)
+18 -1
View File
@@ -24,15 +24,32 @@ Unreal Engine DLSS plugin is known for sending DLSS resources in wrong states. N
Solution for this issue is setting `ColorResourceBarrier=4` from `nvngx.ini` or selecting `RENDER_TARGET` for `Color` at `Resource Barriers (Dx12)` from in-game menu.
## Black Screen with XeSS
Some users have reported that when they use XeSS upscaler backends result is screen with UI. In some cases downloading latest release of [DirectX Shader Compiler](https://github.com/microsoft/DirectXShaderCompiler/releases) and extracting `dxcompiler.dll`, `dxil.dll` from `bin\x64\` next to games exe file solved this issue.
## CAS (Conrast Adaptive Sharpening)
CAS added to XeSS backends to mitigate softness upscaler but CAS might cause some image issues too.
![cas](/images/cas.png)<br>*Deep Rock Galactic*
1. Bloom removed
2. Color tone is changed
## Performance Issues
* In general XeSS is heavier then FSR for GPUs so it's expected to be have lower performance even on Intel Arc GPUs.
* As a result of spoofing Nvidia card to enable DLSS some games would use Nvidia optimized codepath which might lead to lower performance on other GPUs.
## Display Resolution Motion Vectors
Sometimes games set wrong init flag for `DisplayResolution` which would lead to excessive motion blur. Setting or resetting `DisplayResolution` would help solving this issue.
![mv wrong](/images/mv_wrong.png)<br>*Deep Rock Galactic*
## Graphichal Corruption and Crashes
As said earlier spoofing a Nvidia card may lead games to use specific codepaths that may cause
* Grahichal corruptions
* Graphichal corruptions
![talos principle 2](/images/talos.png)<br>*Talos Principle 2*
* And crashes, speacially when Ray Tracing is active.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB