From 515b5f2a39555ce4238c2383e5cc59170628d8ad Mon Sep 17 00:00:00 2001
From: Wouter Wijsman <[EMAIL REDACTED]>
Date: Wed, 22 Dec 2021 12:04:10 +0100
Subject: [PATCH] Fix build errors in PSP port
---
src/render/psp/SDL_render_psp.c | 14 +++++++++++---
src/video/psp/SDL_pspvideo.c | 2 +-
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/render/psp/SDL_render_psp.c b/src/render/psp/SDL_render_psp.c
index dfde1991413..c50d214caff 100644
--- a/src/render/psp/SDL_render_psp.c
+++ b/src/render/psp/SDL_render_psp.c
@@ -1201,10 +1201,18 @@ PSP_RunCommandQueue(SDL_Renderer * renderer, SDL_RenderCommand *cmd, void *verti
sceGuEnable(GU_TEXTURE_2D);
} else {
const VertTCV *verts = (VertTCV *) (gpumem + cmd->data.draw.first);
+ const Uint8 a = cmd->data.draw.a;
+ const Uint8 r = cmd->data.draw.r;
+ const Uint8 g = cmd->data.draw.g;
+ const Uint8 b = cmd->data.draw.b;
+ PSP_BlendState state = {
+ .color = GU_RGBA(r,g,b,a),
+ .texture = NULL,
+ .mode = cmd->data.draw.blend,
+ .shadeModel = GU_FLAT
+ };
TextureActivate(cmd->data.draw.texture);
- /* Need to force refresh of blending mode, probably something to FIXME */
- PSP_SetBlendMode(renderer, SDL_BLENDMODE_INVALID);
- PSP_SetBlendMode(renderer, cmd->data.draw.blend);
+ PSP_SetBlendState(renderer, &state);
sceGuDrawArray(GU_TRIANGLES, GU_TEXTURE_32BITF|GU_COLOR_8888|GU_VERTEX_32BITF|GU_TRANSFORM_2D, count, 0, verts);
}
break;
diff --git a/src/video/psp/SDL_pspvideo.c b/src/video/psp/SDL_pspvideo.c
index a37e8b25d59..a5c86ecc3a4 100644
--- a/src/video/psp/SDL_pspvideo.c
+++ b/src/video/psp/SDL_pspvideo.c
@@ -173,7 +173,7 @@ PSP_VideoInit(_THIS)
display.current_mode = current_mode;
SDL_AddDisplayMode(&display, ¤t_mode);
- SDL_AddVideoDisplay(&display);
+ SDL_AddVideoDisplay(&display, SDL_FALSE);
return 1;
}