aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorGravatar Sethpaien <sethpaien@gmail.com>2014-05-08 18:05:30 +0200
committerGravatar Sethpaien <sethpaien@gmail.com>2014-05-08 18:05:30 +0200
commite1fcb2fdfb8b94f7baa212031cad25242514ec4e (patch)
tree942d3af755d8d4d4d39c592b92df03254d7538fa /src/video_core/renderer_opengl
parent924e7b6af87244a63a955757ae17c35803148895 (diff)
Update FlipFramebuffer
Less calculations + fix
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index b63a73d1..24f9a91f 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -58,15 +58,14 @@ void RendererOpenGL::SwapBuffers() {
* @todo Early on hack... I'd like to find a more efficient way of doing this /bunnei
*/
void RendererOpenGL::FlipFramebuffer(const u8* in, u8* out) {
- for (int y = 0; y < VideoCore::kScreenTopHeight; y++) {
- for (int x = 0; x < VideoCore::kScreenTopWidth; x++) {
- int in_coord = (VideoCore::kScreenTopHeight * 3 * x) + (VideoCore::kScreenTopHeight * 3)
- - (3 * y + 3);
- int out_coord = (VideoCore::kScreenTopWidth * y * 3) + (x * 3);
-
- out[out_coord + 0] = in[in_coord + 0];
+ int in_coord = 0;
+ for (int x = 0; x < VideoCore::kScreenTopWidth; x++) {
+ for (int y = VideoCore::kScreenTopHeight-1; y >= 0; y--) {
+ int out_coord = (x + y * VideoCore::kScreenTopWidth) * 3;
+ out[out_coord] = in[in_coord];
out[out_coord + 1] = in[in_coord + 1];
out[out_coord + 2] = in[in_coord + 2];
+ in_coord+=3;
}
}
}