all repos — mgba @ 029d0e169b154dd60e02a0134da25328f8719de1

mGBA Game Boy Advance Emulator

Vita: Improved frame drawing speed
Vicki Pfau vi@endrift.com
Mon, 25 Mar 2019 21:39:57 -0700
commit

029d0e169b154dd60e02a0134da25328f8719de1

parent

782742a731c20f146888d28b97ed8fe666c2f6be

3 files changed, 5 insertions(+), 2 deletions(-)

jump to
M CHANGESCHANGES

@@ -37,6 +37,7 @@ - LR35902: Support PC-relative opcode decoding

- Qt: Improve camera initialization - Qt: Support switching webcams - Core: Add keysRead callback + - Vita: Improved frame drawing speed 0.7.1: (2019-02-24) Bugfixes:
M src/platform/psp2/main.csrc/platform/psp2/main.c

@@ -36,7 +36,6 @@ }

static void _drawEnd(void) { vita2d_end_drawing(); - vita2d_wait_rendering_done(); vita2d_swap_buffers(); }
M src/platform/psp2/psp2-context.csrc/platform/psp2/psp2-context.c

@@ -324,7 +324,7 @@ runner->core->desiredVideoDimensions(runner->core, &width, &height);

tex = vita2d_create_empty_texture_format(256, toPow2(height), SCE_GXM_TEXTURE_FORMAT_X8U8U8U8_1BGR); screenshot = vita2d_create_empty_texture_format(256, toPow2(height), SCE_GXM_TEXTURE_FORMAT_X8U8U8U8_1BGR); - outputBuffer = vita2d_texture_get_datap(tex); + outputBuffer = anonymousMemoryMap(256 * toPow2(height) * 4); runner->core->setVideoBuffer(runner->core, outputBuffer, 256); runner->core->setAudioBufferSize(runner->core, PSP2_SAMPLES);

@@ -458,6 +458,7 @@ UNUSED(runner);

CircleBufferDeinit(&rumble.history); vita2d_free_texture(tex); vita2d_free_texture(screenshot); + mappedMemoryFree(outputBuffer, 256 * 256 * 4); frameLimiter = true; }

@@ -525,6 +526,8 @@

void mPSP2Draw(struct mGUIRunner* runner, bool faded) { unsigned width, height; runner->core->desiredVideoDimensions(runner->core, &width, &height); + void* texpixels = vita2d_texture_get_datap(tex); + memcpy(texpixels, outputBuffer, 256 * height * 4); _drawTex(tex, width, height, faded); }