summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_opengl/utils.h')
-rw-r--r--src/video_core/renderer_opengl/utils.h17
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