summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_blit_screen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_opengl/gl_blit_screen.h')
-rw-r--r--src/video_core/renderer_opengl/gl_blit_screen.h38
1 files changed, 5 insertions, 33 deletions
diff --git a/src/video_core/renderer_opengl/gl_blit_screen.h b/src/video_core/renderer_opengl/gl_blit_screen.h
index f42f89dee..0c3d838f1 100644
--- a/src/video_core/renderer_opengl/gl_blit_screen.h
+++ b/src/video_core/renderer_opengl/gl_blit_screen.h
@@ -3,8 +3,9 @@
#pragma once
+#include <list>
#include <memory>
-#include <vector>
+#include <span>
#include "core/hle/service/nvnflinger/pixel_format.h"
#include "video_core/host1x/gpu_device_memory_manager.h"
@@ -25,24 +26,12 @@ enum class ScalingFilter : u32;
namespace OpenGL {
class Device;
-class FSR;
-class FXAA;
+class Layer;
class ProgramManager;
class RasterizerOpenGL;
-class SMAA;
class StateTracker;
class WindowAdaptPass;
-/// Structure used for storing information about the textures for the Switch screen
-struct TextureInfo {
- OGLTexture resource;
- GLsizei width;
- GLsizei height;
- GLenum gl_format;
- GLenum gl_type;
- Service::android::PixelFormat pixel_format;
-};
-
/// Structure used for storing information about the display target for the Switch screen
struct FramebufferTextureInfo {
GLuint display_texture{};
@@ -60,20 +49,11 @@ public:
Device& device);
~BlitScreen();
- void ConfigureFramebufferTexture(const Tegra::FramebufferConfig& framebuffer);
-
/// Draws the emulated screens to the emulator window.
- void DrawScreen(const Tegra::FramebufferConfig& framebuffer,
+ void DrawScreen(std::span<const Tegra::FramebufferConfig> framebuffers,
const Layout::FramebufferLayout& layout);
- /// 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;
@@ -82,18 +62,10 @@ private:
ProgramManager& program_manager;
Device& device;
- /// Display information for Switch screen
- TextureInfo framebuffer_texture;
-
- std::unique_ptr<FSR> fsr;
- 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;
+ std::list<Layer> layers;
};
} // namespace OpenGL