ValveSoftware / gamescope

SteamOS session compositing window manager
Other
3.11k stars 210 forks source link

Reshade Output Resolution #1498

Open themagicalcats opened 2 months ago

themagicalcats commented 2 months ago

I came here mostly for a question, but I wanted to make sure this wasn't some oversight of some sort.

So when I was using shaders such as CRT Guest, the shader applied to the game was the same resolution 640x480. So my question is, is there a way to scale the shader up in resolution with reshade support on gamescope rather than relying on the games actual output resolution?

sharkautarch commented 2 months ago

@themagicalcats If you're asking if there's a way for gamescope to first upscale an image and then apply a reshade shader on the upscaled image then no there isn't any way to do that currently

iirc, the way that gamescope's rendering currently works, is that, if running nested or if gamescope cannot completely use drm-scanout hardware, (so anytime that gamescope has to do compositing w/ vulkan) frames are taken at the games' resolution, reshade shaders are applied if the user requested it, and then upscaling takes place.

Though now that I think about it, recently @Joshua-Ashton added in preemptive upscaling stuff to improve composition performance. So now I'm not 100% sure whether the upscaling or reshade-shader will actually happen first...

@Joshua-Ashton uhhh do you know if the preemptive upscaling / inline upscaling stuff you added changes anything w.r.t. the ordering of gamescope's upscaling vs reshade shaders for any given frame?