mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 16:25:58 +03:00
[GH-ISSUE #1423] [Feature Request] Upscaling (FSR3, XeSS) #474
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#474
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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.
@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.
@par274 commented on GitHub (Oct 21, 2024):
As far as I know RPCS3 has FSR support. Can't every frame be manipulated with Vulkan?
@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.
@par274 commented on GitHub (Oct 21, 2024):
Ok, thank you for the detailed explanation, it was informative. Then I'll close this.