mirror of https://github.com/mgba-emu/mgba.git
GBA Video: Batch VRAM upload
This commit is contained in:
parent
f781c793f5
commit
53d9e6b432
|
@ -994,13 +994,17 @@ void GBAVideoGLRendererDrawScanline(struct GBAVideoRenderer* renderer, int y) {
|
||||||
glRenderer->paletteDirty = false;
|
glRenderer->paletteDirty = false;
|
||||||
}
|
}
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < 24; ++i) {
|
int first = -1;
|
||||||
if (!(glRenderer->vramDirty & (1 << i))) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// TODO: PBOs
|
|
||||||
glBindTexture(GL_TEXTURE_2D, glRenderer->vramTex);
|
glBindTexture(GL_TEXTURE_2D, glRenderer->vramTex);
|
||||||
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 8 * i, 256, 8, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, &glRenderer->d.vram[2048 * i]);
|
for (i = 0; i < 25; ++i) {
|
||||||
|
if (!(glRenderer->vramDirty & (1 << i))) {
|
||||||
|
if (first >= 0) {
|
||||||
|
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 8 * first, 256, 8 * (i - first), GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, &glRenderer->d.vram[2048 * first]);
|
||||||
|
first = -1;
|
||||||
|
}
|
||||||
|
} else if (first < 0) {
|
||||||
|
first = i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
glRenderer->vramDirty = 0;
|
glRenderer->vramDirty = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue