[Feature Request] Super Resolution
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Hello,
Any chance you'd implement a super resolution option in RetroArch?
Basically, allowing to use a bigger framebuffer than the native display resolution, for instance 2x ect. that would be then downscaled to native using a simple bilinear filter.
This would greatly improve the CRT shaders quality. For instance on a 4K TV the CRT Royale shader looks great for sources around 320x240, but for sources around 640x480 you'd need a 8K TV - or super resolution 2x on a 4K TV.
I've done testing of super resolution and found that the shaders actually looks way better: Streaming my 4K PC to a 1080p screen result in a image quality way superior than native 1080p using CRT Royale for 320x240 content. I only imagine it would work for 8K to 4K too - for 640x480 content.
This would also allow for better integer scaling as it will result in sharp pixels yet using less borders.
I think it would be very simple to implement: Just adding an option for a scaling factor (1x = off, 2x etc.), initializing the framebuffer taking into account this factor, and finally displaying the framebuffer fullscreen with a bilinear downscale.
I'm aware that you could do the same system wide with NVidia DSR, but for many users it's completely broken - including on my setup: DSR 4x = 8192x4320 instead of 7680x4320 and results in a cropped image - no fix found and I've tried many options.
Thanks!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by tracing RetroArch's framebuffer allocation and fullscreen presentation paths, then determine where a scaling factor and bilinear downscale would fit. Done means supporting a larger framebuffer that is downscaled to the native display resolution while preserving the requested shader and integer-scaling benefits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100