Rendering improvements - Improve performance for unbatched rendering - Support direct texture access
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
diff --git a/src/render/vitagxm/SDL_render_vita_gxm.c b/src/render/vitagxm/SDL_render_vita_gxm.c
index d861c11..4be15d5 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));