diff options
Diffstat (limited to 'src/video_core/renderer_opengl/utils.h')
-rw-r--r-- | src/video_core/renderer_opengl/utils.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/utils.h b/src/video_core/renderer_opengl/utils.h index b3e9fc499..e7726d14e 100644 --- a/src/video_core/renderer_opengl/utils.h +++ b/src/video_core/renderer_opengl/utils.h @@ -8,9 +8,13 @@ #include <vector> #include <glad/glad.h> #include "common/common_types.h" +#include "common/math_util.h" +#include "video_core/renderer_opengl/gl_resource_manager.h" namespace OpenGL { +class CachedSurfaceView; + class BindBuffersRangePushBuffer { public: BindBuffersRangePushBuffer(GLenum target); @@ -30,6 +34,19 @@ private: std::vector<GLsizeiptr> sizes; }; +class SurfaceBlitter { +public: + explicit SurfaceBlitter(); + ~SurfaceBlitter(); + + void Blit(CachedSurfaceView* src, CachedSurfaceView* dst, + const Common::Rectangle<u32>& src_rect, const Common::Rectangle<u32>& dst_rect) const; + +private: + OGLFramebuffer src_framebuffer; + OGLFramebuffer dst_framebuffer; +}; + void LabelGLObject(GLenum identifier, GLuint handle, VAddr addr, std::string_view extra_info = {}); } // namespace OpenGL
\ No newline at end of file |