[GH-ISSUE #1423] [Feature Request] Upscaling (FSR3, XeSS) #474

Closed
opened 2026-02-27 21:06:28 +03:00 by kerem · 4 comments
Owner

Originally created by @par274 on GitHub (Oct 21, 2024).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1423

I think it would be better to integrate these technologies in the future, but if the emulator uses today's upscaling technologies correctly, it will be quite efficient in emulating. Maybe even Frame Generation.

Originally created by @par274 on GitHub (Oct 21, 2024). Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1423 I think it would be better to integrate these technologies in the future, but if the emulator uses today's upscaling technologies correctly, it will be quite efficient in emulating. Maybe even Frame Generation.
kerem closed this issue 2026-02-27 21:06:28 +03:00
Author
Owner

@SleepingSnakezzz commented on GitHub (Oct 21, 2024):

The upscaling technologies you've listed in the title (FSR3, XeSS) require a game's motion vector data to be provided in order to function. This is something the game has to implement, an emulator cannot do this.

<!-- gh-comment-id:2425341144 --> @SleepingSnakezzz commented on GitHub (Oct 21, 2024): The upscaling technologies you've listed in the title (FSR3, XeSS) require a game's motion vector data to be provided in order to function. This is something the game has to implement, an emulator cannot do this.
Author
Owner

@par274 commented on GitHub (Oct 21, 2024):

The upscaling technologies you've listed in the title (FSR3, XeSS) require a game's motion vector data to be provided in order to function. This is something the game has to implement, an emulator cannot do this.

As far as I know RPCS3 has FSR support. Can't every frame be manipulated with Vulkan?

<!-- gh-comment-id:2425359584 --> @par274 commented on GitHub (Oct 21, 2024): > The upscaling technologies you've listed in the title (FSR3, XeSS) require a game's motion vector data to be provided in order to function. This is something the game has to implement, an emulator cannot do this. As far as I know RPCS3 has FSR support. Can't every frame be manipulated with Vulkan?
Author
Owner

@SleepingSnakezzz commented on GitHub (Oct 21, 2024):

They use FSR 1.0*. This detail is important, as that is mostly just downscaling resolution with a sharpening filter, and does not require motion vector data. That much is doable. FSR 3.0 wouldn't be possible because of the aforementioned lack of motion vectors.

And, again, these motion vectors are data that are required for FRS 2.0+, DLSS, and XeSS to function. We cannot obtain this data from just rendering a frame. A game needs their engine to provide this. Game developers must account for this, else it does not work properly. This is why you can't use these upscaling techniques in games that haven't implemented them. All an emulator does is create a software environment similar enough to the console's software environment to be able to run the console game on another platform. We can't conjure up data that isn't provided by the game or the console out of nowhere. If that were possible, people would've easily just modded in FSR 2.0+ support into PC games that don't officially support it. In reality, that is almost impossible unless you know the game's engine very well, and modify it accordingly. That isn't within an emulator's scope.

<!-- gh-comment-id:2425368137 --> @SleepingSnakezzz commented on GitHub (Oct 21, 2024): They use FSR 1.0*. This detail is important, as that is mostly just downscaling resolution with a sharpening filter, and does not require motion vector data. That much is doable. FSR 3.0 wouldn't be possible because of the aforementioned lack of motion vectors. And, again, these motion vectors are data that are required for FRS 2.0+, DLSS, and XeSS to function. We cannot obtain this data from just rendering a frame. A game needs their engine to provide this. Game developers must account for this, else it does not work properly. This is why you can't use these upscaling techniques in games that haven't implemented them. All an emulator does is create a software environment similar enough to the console's software environment to be able to run the console game on another platform. We can't conjure up data that isn't provided by the game or the console out of nowhere. If that were possible, people would've easily just modded in FSR 2.0+ support into PC games that don't officially support it. In reality, that is almost impossible unless you know the game's engine very well, and modify it accordingly. That isn't within an emulator's scope.
Author
Owner

@par274 commented on GitHub (Oct 21, 2024):

They use FSR 1.0*. This detail is important, as that is mostly just downscaling resolution with a sharpening filter, and does not require motion vector data. That much is doable. FSR 3.0 wouldn't be possible because of the aforementioned lack of motion vectors.

And, again, these motion vectors are data that are required for FRS 2.0+, DLSS, and XeSS to function. We cannot obtain this data from just rendering a frame. A game needs their engine to provide this. Game developers must account for this, else it does not work properly. This is why you can't use these upscaling techniques in games that haven't implemented them. All an emulator does is create a software environment similar enough to the console's software environment to be able to run the console game on another platform. We can't conjure up data that isn't provided by the game or the console out of nowhere. If that were possible, people would've easily just modded in FSR 2.0+ support into PC games that don't officially support it. In reality, that is almost impossible unless know the game's engine very well, and modify it accordingly. That isn't within an emulator's scope.

Ok, thank you for the detailed explanation, it was informative. Then I'll close this.

<!-- gh-comment-id:2425370160 --> @par274 commented on GitHub (Oct 21, 2024): > They use FSR 1.0*. This detail is important, as that is mostly just downscaling resolution with a sharpening filter, and does not require motion vector data. That much is doable. FSR 3.0 wouldn't be possible because of the aforementioned lack of motion vectors. > > And, again, these motion vectors are data that are required for FRS 2.0+, DLSS, and XeSS to function. We cannot obtain this data from just rendering a frame. A game needs their engine to provide this. Game developers must account for this, else it does not work properly. This is why you can't use these upscaling techniques in games that haven't implemented them. All an emulator does is create a software environment similar enough to the console's software environment to be able to run the console game on another platform. We can't conjure up data that isn't provided by the game or the console out of nowhere. If that were possible, people would've easily just modded in FSR 2.0+ support into PC games that don't officially support it. In reality, that is almost impossible unless know the game's engine very well, and modify it accordingly. That isn't within an emulator's scope. Ok, thank you for the detailed explanation, it was informative. Then I'll close this.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#474
No description provided.