Browse Source

End current scene before destroying the texture on Vita

Northfear 3 years ago
parent
commit
3b2fbb1cb7
1 changed files with 10 additions and 1 deletions
  1. 10 1
      src/render/vitagxm/SDL_render_vita_gxm.c

+ 10 - 1
src/render/vitagxm/SDL_render_vita_gxm.c

@@ -1241,7 +1241,16 @@ VITA_GXM_DestroyTexture(SDL_Renderer *renderer, SDL_Texture *texture)
     if(vita_texture->tex == 0)
         return;
 
-    sceGxmFinish(data->gxm_context);
+    // make sure that texture isn't used
+    if (data->drawing) {
+        sceGxmEndScene(data->gxm_context, NULL, NULL);
+        data->drawing = SDL_FALSE;
+        sceGxmFinish(data->gxm_context);
+        StartDrawing(renderer);
+    }
+    else {
+        sceGxmFinish(data->gxm_context);
+    }
 
     free_gxm_texture(vita_texture->tex);