godotengine / godotengine/godot

FSR 2.2 does not enhance image quality in VR / OpenXR

Open
#89,167 2 comments 1 reaction 0 assignees View on GitHub
bug discussion topic:3d topic:rendering topic:xr
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

Reproduced in 4.2 Stable, 4.2.1 Stable, and 4.3 Dev 4

### System information

Godot v4.2.1.stable - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 (NVIDIA; 31.0.15.4617) - 11th Gen Intel(R) Core(TM) i7-11700K @ 3.60GHz (16 Threads) - HP Reverb G2 VR headset running through WMR and SteamVR

### Issue description

FSR 2.2 does not enhance the image when OpenXR is enabled.

With OpenXR enabled and FSR 2.2 enabled:
![Screenshot 2024-03-04 221703](https://github.com/godotengine/godot/assets/69091728/2c0e1ec4-4fbd-45aa-ae4e-0043ba2ee077)

With OpenXR enabled and bilinear scaling:
![Screenshot 2024-03-04 221555](https://github.com/godotengine/godot/assets/69091728/ea72d3ef-7375-4210-8095-c94178eebda5)

With OpenXR disabled and FSR 2.2 enabled:
![Screenshot 2024-03-04 221648](https://github.com/godotengine/godot/assets/69091728/c19359b1-0dd0-4f1e-b7c8-f347dc614a1e)

With OpenXR disabled and bilinear scaling:
![Screenshot 2024-03-04 221541](https://github.com/godotengine/godot/assets/69091728/b41065b4-3e38-4652-8565-d9718e454143)

As you can see, despite the viewport clearly rendering with a lower resolution than when OpenXR is enabled, it has a much higher quality image with FSR 2.2 than when OpenXR is enabled with FSR 2.2.

The difference between FSR 2.2 being enabled and disabled shows no improvement when OpenXR is enabled, while it shows a clear improvement when OpenXR is disabled.

The difference is not due to the motion of the VR headset as that motion is retained when OpenXR is disabled on the viewport.

### Steps to reproduce

Enable FSR 2.2 in a project using OpenXR. Compare `get_viewport().use_xr = true` with `get_viewport().use_xr = false`.

### Minimal reproduction project (MRP)

[FSR 2.2 Bug Reproduction.zip](https://github.com/godotengine/godot/files/14489980/FSR.2.2.Bug.Reproduction.zip)

Contributor guide

Open the contributing guide

Research direction

Start with the linked minimal reproduction project and reproduce the comparison using FSR 2.2 with OpenXR enabled and disabled, including the get_viewport().use_xr settings described. Done means FSR 2.2 produces the expected image-quality improvement with OpenXR enabled, comparable to the non-OpenXR result.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.