summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/blit_image.h
diff options
context:
space:
mode:
authorFeng Chen <vonchenplus@gmail.com>2023-01-05 05:27:41 +0100
committerFeng Chen <vonchenplus@gmail.com>2023-01-05 05:41:28 +0100
commit1e8cee2ddfeb87d4501f66197625a31c09b57e48 (patch)
tree1a0a5c62497e765222354825bdea05b54398747e /src/video_core/renderer_opengl/blit_image.h
parentMerge pull request #9501 from FernandoS27/yfc-rel-2 (diff)
downloadyuzu-1e8cee2ddfeb87d4501f66197625a31c09b57e48.tar
yuzu-1e8cee2ddfeb87d4501f66197625a31c09b57e48.tar.gz
yuzu-1e8cee2ddfeb87d4501f66197625a31c09b57e48.tar.bz2
yuzu-1e8cee2ddfeb87d4501f66197625a31c09b57e48.tar.lz
yuzu-1e8cee2ddfeb87d4501f66197625a31c09b57e48.tar.xz
yuzu-1e8cee2ddfeb87d4501f66197625a31c09b57e48.tar.zst
yuzu-1e8cee2ddfeb87d4501f66197625a31c09b57e48.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/blit_image.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/blit_image.h b/src/video_core/renderer_opengl/blit_image.h
new file mode 100644
index 000000000..5a2b12d16
--- /dev/null
+++ b/src/video_core/renderer_opengl/blit_image.h
@@ -0,0 +1,38 @@
+// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <glad/glad.h>
+
+#include "video_core/engines/fermi_2d.h"
+#include "video_core/renderer_opengl/gl_resource_manager.h"
+#include "video_core/texture_cache/types.h"
+
+namespace OpenGL {
+
+using VideoCommon::Extent3D;
+using VideoCommon::Offset2D;
+using VideoCommon::Region2D;
+
+class ProgramManager;
+class Framebuffer;
+class ImageView;
+
+class BlitImageHelper {
+public:
+ explicit BlitImageHelper(ProgramManager& program_manager);
+ ~BlitImageHelper();
+
+ void BlitColor(GLuint dst_framebuffer, GLuint src_image_view, GLuint src_sampler,
+ const Region2D& dst_region, const Region2D& src_region,
+ const Extent3D& src_size);
+
+private:
+ ProgramManager& program_manager;
+
+ OGLProgram full_screen_vert;
+ OGLProgram blit_color_to_color_frag;
+};
+
+} // namespace OpenGL