From 80b497213981512e9ba1a629bcd5e2c519d2e566 Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Mon, 27 Feb 2023 21:11:55 +0000 Subject: Add Support for Post Processing Effects (#3616) * Add Post Processing Effects * fix events and shader issues * fix gtk upscale slider value * fix bgra games * don't swap swizzle if already swapped * restore opengl texture state after effects run * addressed review * use single pipeline for smaa and fsr * call finish on all pipelines * addressed review * attempt fix file case * attempt fixing file case * fix filter level tick frequency * adjust filter slider margins * replace fxaa shaders with original shader * addressed review --- Ryujinx.Graphics.GAL/AntiAliasing.cs | 12 ++++++++++++ Ryujinx.Graphics.GAL/IWindow.cs | 4 ++++ Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs | 6 ++++++ Ryujinx.Graphics.GAL/UpscaleType.cs | 9 +++++++++ 4 files changed, 31 insertions(+) create mode 100644 Ryujinx.Graphics.GAL/AntiAliasing.cs create mode 100644 Ryujinx.Graphics.GAL/UpscaleType.cs (limited to 'Ryujinx.Graphics.GAL') diff --git a/Ryujinx.Graphics.GAL/AntiAliasing.cs b/Ryujinx.Graphics.GAL/AntiAliasing.cs new file mode 100644 index 00000000..d4e5754d --- /dev/null +++ b/Ryujinx.Graphics.GAL/AntiAliasing.cs @@ -0,0 +1,12 @@ +namespace Ryujinx.Graphics.GAL +{ + public enum AntiAliasing + { + None, + Fxaa, + SmaaLow, + SmaaMedium, + SmaaHigh, + SmaaUltra + } +} diff --git a/Ryujinx.Graphics.GAL/IWindow.cs b/Ryujinx.Graphics.GAL/IWindow.cs index a9bbbc5e..1221d685 100644 --- a/Ryujinx.Graphics.GAL/IWindow.cs +++ b/Ryujinx.Graphics.GAL/IWindow.cs @@ -9,5 +9,9 @@ namespace Ryujinx.Graphics.GAL void SetSize(int width, int height); void ChangeVSyncMode(bool vsyncEnabled); + + void SetAntiAliasing(AntiAliasing antialiasing); + void SetScalingFilter(ScalingFilter type); + void SetScalingFilterLevel(float level); } } diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs index c4b62a25..a647d37e 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs @@ -32,5 +32,11 @@ namespace Ryujinx.Graphics.GAL.Multithreading } public void ChangeVSyncMode(bool vsyncEnabled) { } + + public void SetAntiAliasing(AntiAliasing effect) { } + + public void SetScalingFilter(ScalingFilter type) { } + + public void SetScalingFilterLevel(float level) { } } } diff --git a/Ryujinx.Graphics.GAL/UpscaleType.cs b/Ryujinx.Graphics.GAL/UpscaleType.cs new file mode 100644 index 00000000..442b65f2 --- /dev/null +++ b/Ryujinx.Graphics.GAL/UpscaleType.cs @@ -0,0 +1,9 @@ +namespace Ryujinx.Graphics.GAL +{ + public enum ScalingFilter + { + Bilinear, + Nearest, + Fsr + } +} \ No newline at end of file -- cgit v1.2.3