summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_blit_screen.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2024-01-15 21:08:21 +0100
committerLiam <byteslice@airmail.cc>2024-01-31 17:27:21 +0100
commitd4de04584f14f3ea8fde4cd79102b887c084fbc2 (patch)
tree72581b4240726f72d769319f3b5e1b2ece6c8e58 /src/video_core/renderer_opengl/gl_blit_screen.h
parentrenderer_opengl: move out ownership of FSR resources (diff)
downloadyuzu-d4de04584f14f3ea8fde4cd79102b887c084fbc2.tar
yuzu-d4de04584f14f3ea8fde4cd79102b887c084fbc2.tar.gz
yuzu-d4de04584f14f3ea8fde4cd79102b887c084fbc2.tar.bz2
yuzu-d4de04584f14f3ea8fde4cd79102b887c084fbc2.tar.lz
yuzu-d4de04584f14f3ea8fde4cd79102b887c084fbc2.tar.xz
yuzu-d4de04584f14f3ea8fde4cd79102b887c084fbc2.tar.zst
yuzu-d4de04584f14f3ea8fde4cd79102b887c084fbc2.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_blit_screen.h26
1 files changed, 12 insertions, 14 deletions
diff --git a/src/video_core/renderer_opengl/gl_blit_screen.h b/src/video_core/renderer_opengl/gl_blit_screen.h
index 2cb9a5015..f42f89dee 100644
--- a/src/video_core/renderer_opengl/gl_blit_screen.h
+++ b/src/video_core/renderer_opengl/gl_blit_screen.h
@@ -18,6 +18,10 @@ namespace Tegra {
struct FramebufferConfig;
}
+namespace Settings {
+enum class ScalingFilter : u32;
+}
+
namespace OpenGL {
class Device;
@@ -27,6 +31,7 @@ class ProgramManager;
class RasterizerOpenGL;
class SMAA;
class StateTracker;
+class WindowAdaptPass;
/// Structure used for storing information about the textures for the Switch screen
struct TextureInfo {
@@ -61,29 +66,22 @@ public:
void DrawScreen(const Tegra::FramebufferConfig& framebuffer,
const Layout::FramebufferLayout& layout);
- void RenderScreenshot(const Tegra::FramebufferConfig& framebuffer);
-
/// Loads framebuffer from emulated memory into the active OpenGL texture.
FramebufferTextureInfo LoadFBToScreenInfo(const Tegra::FramebufferConfig& framebuffer);
FramebufferTextureInfo PrepareRenderTarget(const Tegra::FramebufferConfig& framebuffer);
private:
+ void CreateFXAA();
+ void CreateSMAA();
+ void CreateWindowAdapt();
+
RasterizerOpenGL& rasterizer;
Tegra::MaxwellDeviceMemoryManager& device_memory;
StateTracker& state_tracker;
ProgramManager& program_manager;
Device& device;
- OGLSampler present_sampler;
- OGLSampler present_sampler_nn;
- OGLBuffer vertex_buffer;
- OGLProgram present_vertex;
- OGLProgram present_bilinear_fragment;
- OGLProgram present_bicubic_fragment;
- OGLProgram present_gaussian_fragment;
- OGLProgram present_scaleforce_fragment;
-
/// Display information for Switch screen
TextureInfo framebuffer_texture;
@@ -91,11 +89,11 @@ private:
std::unique_ptr<FXAA> fxaa;
std::unique_ptr<SMAA> smaa;
+ Settings::ScalingFilter current_window_adapt{};
+ std::unique_ptr<WindowAdaptPass> window_adapt;
+
/// OpenGL framebuffer data
std::vector<u8> gl_framebuffer_data;
-
- // GPU address of the vertex buffer
- GLuint64EXT vertex_buffer_address = 0;
};
} // namespace OpenGL