diff --git a/src/render/vitagxm/SDL_render_vita_gxm.c b/src/render/vitagxm/SDL_render_vita_gxm.c index d861c11a3..4be15d5a9 100644 --- a/src/render/vitagxm/SDL_render_vita_gxm.c +++ b/src/render/vitagxm/SDL_render_vita_gxm.c @@ -148,9 +148,7 @@ void StartDrawing(SDL_Renderer *renderer) { VITA_GXM_RenderData *data = (VITA_GXM_RenderData *) renderer->driverdata; - if(data->drawing) - { - SDL_LogError(SDL_LOG_CATEGORY_RENDER, "uh-oh, already drawing\n"); + if (data->drawing) { return; } @@ -993,9 +991,6 @@ VITA_GXM_RunCommandQueue(SDL_Renderer * renderer, SDL_RenderCommand *cmd, void * cmd = cmd->next; } - sceGxmEndScene(data->gxm_context, NULL, NULL); - data->drawing = SDL_FALSE; - return 0; } @@ -1091,6 +1086,11 @@ VITA_GXM_RenderPresent(SDL_Renderer *renderer) VITA_GXM_RenderData *data = (VITA_GXM_RenderData *) renderer->driverdata; SceCommonDialogUpdateParam updateParam; + if(data->drawing) { + sceGxmEndScene(data->gxm_context, NULL, NULL); + sceGxmFinish(data->gxm_context); + } + data->displayData.address = data->displayBufferData[data->backBufferIndex]; SDL_memset(&updateParam, 0, sizeof(updateParam));