aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2019-04-01 04:58:21 +0200
committerArisotura <thetotalworm@gmail.com>2019-04-01 04:58:21 +0200
commit00341bbae5a0344fece4fdffb586bfdfb716959b (patch)
tree537e0236753122cb12481cfe2d702364613ab7b8
parent4bf75a8d8ee1a5adae7dd1deb571ef943d874ce7 (diff)
actually, seems faster to read it all at once??
-rw-r--r--src/GPU3D_OpenGL43.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/GPU3D_OpenGL43.cpp b/src/GPU3D_OpenGL43.cpp
index ea8bbd7..2e15cfa 100644
--- a/src/GPU3D_OpenGL43.cpp
+++ b/src/GPU3D_OpenGL43.cpp
@@ -114,7 +114,8 @@ bool Init()
glGenBuffers(1, &PixelbufferID);
glBindBuffer(GL_PIXEL_PACK_BUFFER, PixelbufferID);
- glBufferData(GL_PIXEL_PACK_BUFFER, 256*48*4, NULL, GL_DYNAMIC_READ);
+ //glBufferData(GL_PIXEL_PACK_BUFFER, 256*48*4, NULL, GL_DYNAMIC_READ);
+ glBufferData(GL_PIXEL_PACK_BUFFER, 256*192*4, NULL, GL_DYNAMIC_READ);
return true;
}
@@ -142,7 +143,8 @@ void RenderFrame()
glReadBuffer(GL_COLOR_ATTACHMENT0);
//glReadPixels(0, 0, 256, 48, GL_RGBA, GL_UNSIGNED_BYTE, Framebuffer);
glBindBuffer(GL_PIXEL_PACK_BUFFER, PixelbufferID);
- glReadPixels(0, 0, 256, 48, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
+ //glReadPixels(0, 0, 256, 48, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
+ glReadPixels(0, 0, 256, 192, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
}
void RequestLine(int line)
@@ -150,12 +152,13 @@ void RequestLine(int line)
if (line == 0)
{
u8* data = (u8*)glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY);
- if (data) memcpy(&Framebuffer[4*256*0], data, 4*256*48);
+ //if (data) memcpy(&Framebuffer[4*256*0], data, 4*256*48);
+ if (data) memcpy(&Framebuffer[4*256*0], data, 4*256*192);
glUnmapBuffer(GL_PIXEL_PACK_BUFFER);
- glReadPixels(0, 48, 256, 48, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
+ //glReadPixels(0, 48, 256, 48, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
}
- else if (line == 48)
+ /*else if (line == 48)
{
u8* data = (u8*)glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY);
if (data) memcpy(&Framebuffer[4*256*48], data, 4*256*48);
@@ -176,7 +179,7 @@ void RequestLine(int line)
u8* data = (u8*)glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY);
if (data) memcpy(&Framebuffer[4*256*144], data, 4*256*48);
glUnmapBuffer(GL_PIXEL_PACK_BUFFER);
- }
+ }*/
}
u32* GetLine(int line)