iwasaperson wrote:EDIT: The shader does compile on Antergos using fglrx with a 7870, but it doesn't actually do anything. Pixellate (a similar shader) also compiles, but it just slightly blurs the image without actually doing anything useful.
I noticed it doesn't work as well, so I have to look it over.
iwasaperson wrote:On another note, When I select square pixels or integer scale (using the GL3 renderer), it keeps the 4:3 ratio, but makes the image look a lot nicer as opposed to the mess I get when selecting 4:3. This happens on both Antergos with fglrx and Debian with mesa. Even when selecting either of these options, I still do not get either square pixels or an integer scale (the obvious signs are all there).
EDIT2: The aspect ratio only changes with the output stretch mode option. Everything I said about the 4:3 looking nasty and the improvement when using square pixels or integer scale still stands, but it seems like the two options (GL3 settings and the other settings) aren't linked like they should be. When selecting integer scale on both, I do get a proper integer scale.
Yeah I haven't linked them on purpose to make it more configurable. However if it is confusing I'm not against changing it to something more user-friendly.
iwasaperson wrote:EDIT3: Seperate bug report: the Scale filtering (Nearest neighbor or Linear) doesn't seem to do anything on any renderer except for OpenGL (not GL3).
For contrast, DOSBox in RetroArch with sharp-bilinear with a 4:3 ratio looks absolutely fantastic, even when viewing text.
Are you applying the shader before or after the built in scaling?
The scale filter only works as expected on OpenGL (and Direct3D on Windows), with GL3 the filtering follows the input scale-option instead. This is because the shaders might have their own configuration for filtering. However it is confusing that it doesn't behave the same if no shaders are defined.
This is how the rendering works (the scene-texture was created with filtering if requested):
- Render the scene-texture to an offscreen-texture. Input scale/stretch is applied here.
- Go through each shader defined in the shader manager.
- If the last shader rendered to an offscreen-texture it will perform another step to render to screen.
Changing that should be easy so I can probably get it up for testing later today if I get some time for it.