From 1fc519880d0c3376bb826c372faaca23569d72ca Mon Sep 17 00:00:00 2001 From: Ivan Epifanov Date: Tue, 15 Jun 2021 18:49:55 +0300 Subject: [PATCH] Reset/re-apply viewport on frame start/target change. Fixes SDL_RenderSetLogicalSize on PSVita --- src/render/vitagxm/SDL_render_vita_gxm.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/render/vitagxm/SDL_render_vita_gxm.c b/src/render/vitagxm/SDL_render_vita_gxm.c index 9376d1290..472e9e01a 100644 --- a/src/render/vitagxm/SDL_render_vita_gxm.c +++ b/src/render/vitagxm/SDL_render_vita_gxm.c @@ -157,6 +157,7 @@ StartDrawing(SDL_Renderer *renderer) data->drawstate.fragment_program = NULL; data->drawstate.last_command = -1; data->drawstate.texture_color = 0xFFFFFFFF; + data->drawstate.viewport_dirty = SDL_TRUE; // reset blend mode // data->currentBlendMode = SDL_BLENDMODE_BLEND; @@ -379,7 +380,10 @@ VITA_GXM_SetTextureScaleMode(SDL_Renderer * renderer, SDL_Texture * texture, SDL static int VITA_GXM_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture) { - return 0; // nothing to do here + VITA_GXM_RenderData *data = (VITA_GXM_RenderData *) renderer->driverdata; + + data->drawstate.viewport_dirty = SDL_TRUE; + return 0; } static void @@ -417,7 +421,7 @@ VITA_GXM_SetBlendMode(VITA_GXM_RenderData *data, int blendMode) static int VITA_GXM_QueueSetViewport(SDL_Renderer * renderer, SDL_RenderCommand *cmd) { - return 0; // TODO + return 0; } static int