From 899ee8f75a1c796575d8131622ded363717ff16c Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Wed, 15 Mar 2023 22:06:41 +0100
Subject: [PATCH] Change SDL_BLENDMODE_MUL for gl renderers Add FIXME for PSP
---
src/render/SDL_render.c | 2 +-
src/render/psp/SDL_render_psp.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 5c2fe45316c0..1bb4afa50c6b 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -85,7 +85,7 @@ this should probably be removed at some point in the future. --ryan. */
#define SDL_BLENDMODE_MUL_FULL \
SDL_COMPOSE_BLENDMODE(SDL_BLENDFACTOR_DST_COLOR, SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA, SDL_BLENDOPERATION_ADD, \
- SDL_BLENDFACTOR_DST_ALPHA, SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA, SDL_BLENDOPERATION_ADD)
+ SDL_BLENDFACTOR_ZERO, SDL_BLENDFACTOR_ONE, SDL_BLENDOPERATION_ADD)
#if !SDL_RENDER_DISABLED
static const SDL_RenderDriver *render_drivers[] = {
diff --git a/src/render/psp/SDL_render_psp.c b/src/render/psp/SDL_render_psp.c
index 848d29c2e0fc..a8aeeaa2123b 100644
--- a/src/render/psp/SDL_render_psp.c
+++ b/src/render/psp/SDL_render_psp.c
@@ -992,6 +992,7 @@ static void PSP_SetBlendState(PSP_RenderData *data, PSP_BlendState *state)
break;
case SDL_BLENDMODE_MUL:
sceGuTexFunc(GU_TFX_MODULATE, GU_TCC_RGBA);
+ /* FIXME SDL_BLENDMODE_MUL is simplified, and dstA is in fact un-changed.*/
sceGuBlendFunc(GU_ADD, GU_DST_COLOR, GU_ONE_MINUS_SRC_ALPHA, 0, 0);
sceGuEnable(GU_BLEND);
break;