From 147a71b97633f788014710799b430d92166e9f80 Mon Sep 17 00:00:00 2001
From: Daniel Santos <[EMAIL REDACTED]>
Date: Thu, 30 Jun 2022 12:57:37 -0300
Subject: [PATCH] Finish dummy driver
---
CMakeLists.txt | 2 +-
include/SDL_config.h.cmake | 1 +
src/render/SDL_render.c | 2 +-
src/render/ps2/SDL_blendfillrect.c | 2 +-
src/render/ps2/SDL_blendline.c | 2 +-
src/render/ps2/SDL_blendpoint.c | 2 +-
src/render/ps2/SDL_drawline.c | 2 +-
src/render/ps2/SDL_drawpoint.c | 2 +-
.../ps2/{SDL_render_sw.c => SDL_render_ps2.c} | 7 ++-----
.../{SDL_render_sw_c.h => SDL_render_ps2.h} | 8 ++++----
src/render/ps2/SDL_rotate.c | 2 +-
src/render/ps2/SDL_triangle.c | 20 +++++++++----------
src/render/ps2/SDL_triangle.h | 6 +++---
13 files changed, 28 insertions(+), 30 deletions(-)
rename src/render/ps2/{SDL_render_sw.c => SDL_render_ps2.c} (99%)
rename src/render/ps2/{SDL_render_sw_c.h => SDL_render_ps2.h} (87%)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2fe57578e98..8be55cc0d3d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2575,7 +2575,7 @@ elseif(PS2)
file(GLOB PS2_VIDEO_SOURCES
${SDL2_SOURCE_DIR}/src/video/ps2/*.c
${SDL2_SOURCE_DIR}/src/render/ps2/*.c)
- set(SOURCE_FILES ${SOURCE_FILES} ${PS2_VIDEO_SOURCES})
+ list(APPEND SOURCE_FILES ${PS2_VIDEO_SOURCES})
set(SDL_VIDEO_OPENGL 0)
set(HAVE_SDL_VIDEO TRUE)
endif()
diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake
index 61b320f4f6d..2d21b37ddce 100644
--- a/include/SDL_config.h.cmake
+++ b/include/SDL_config.h.cmake
@@ -456,6 +456,7 @@
#cmakedefine SDL_VIDEO_RENDER_DIRECTFB @SDL_VIDEO_RENDER_DIRECTFB@
#cmakedefine SDL_VIDEO_RENDER_METAL @SDL_VIDEO_RENDER_METAL@
#cmakedefine SDL_VIDEO_RENDER_VITA_GXM @SDL_VIDEO_RENDER_VITA_GXM@
+#cmakedefine SDL_VIDEO_RENDER_PS2 @SDL_VIDEO_RENDER_PS2@
#cmakedefine SDL_VIDEO_RENDER_PSP @SDL_VIDEO_RENDER_PSP@
/* Enable OpenGL support */
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 702cde7efdc..0220387bd15 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -114,7 +114,7 @@ static const SDL_RenderDriver *render_drivers[] = {
#if SDL_VIDEO_RENDER_DIRECTFB
&DirectFB_RenderDriver,
#endif
-#if SDL_VIDEO_RENDER_PS2
+#if SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED
&PS2_RenderDriver,
#endif
#if SDL_VIDEO_RENDER_PSP
diff --git a/src/render/ps2/SDL_blendfillrect.c b/src/render/ps2/SDL_blendfillrect.c
index d0e2f836d7d..41a0b83c1e0 100644
--- a/src/render/ps2/SDL_blendfillrect.c
+++ b/src/render/ps2/SDL_blendfillrect.c
@@ -352,6 +352,6 @@ SDL_BlendFillRects(SDL_Surface * dst, const SDL_Rect * rects, int count,
return status;
}
-#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_SW */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_blendline.c b/src/render/ps2/SDL_blendline.c
index 363b7a887ab..d85eeb504eb 100644
--- a/src/render/ps2/SDL_blendline.c
+++ b/src/render/ps2/SDL_blendline.c
@@ -870,6 +870,6 @@ SDL_BlendLines(SDL_Surface * dst, const SDL_Point * points, int count,
return 0;
}
-#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_blendpoint.c b/src/render/ps2/SDL_blendpoint.c
index ebdb685d198..aae201b7fb5 100644
--- a/src/render/ps2/SDL_blendpoint.c
+++ b/src/render/ps2/SDL_blendpoint.c
@@ -357,6 +357,6 @@ SDL_BlendPoints(SDL_Surface * dst, const SDL_Point * points, int count,
return status;
}
-#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_drawline.c b/src/render/ps2/SDL_drawline.c
index 15798b462d2..e97312fa8b7 100644
--- a/src/render/ps2/SDL_drawline.c
+++ b/src/render/ps2/SDL_drawline.c
@@ -208,6 +208,6 @@ SDL_DrawLines(SDL_Surface * dst, const SDL_Point * points, int count,
return 0;
}
-#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_PS2 */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_drawpoint.c b/src/render/ps2/SDL_drawpoint.c
index 9e1407499c1..27a43e81ce9 100644
--- a/src/render/ps2/SDL_drawpoint.c
+++ b/src/render/ps2/SDL_drawpoint.c
@@ -109,6 +109,6 @@ SDL_DrawPoints(SDL_Surface * dst, const SDL_Point * points, int count,
return 0;
}
-#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_render_sw.c b/src/render/ps2/SDL_render_ps2.c
similarity index 99%
rename from src/render/ps2/SDL_render_sw.c
rename to src/render/ps2/SDL_render_ps2.c
index 70b69949850..fd2c91a67e5 100644
--- a/src/render/ps2/SDL_render_sw.c
+++ b/src/render/ps2/SDL_render_ps2.c
@@ -23,7 +23,7 @@
#if SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED
#include "../SDL_sysrender.h"
-#include "SDL_render_sw_c.h"
+#include "SDL_render_ps2.h"
#include "SDL_hints.h"
#include "SDL_draw.h"
@@ -1168,9 +1168,6 @@ PS2_CreateRenderer(SDL_Window * window, Uint32 flags)
dmaKit_init(D_CTRL_RELE_OFF, D_CTRL_MFD_OFF, D_CTRL_STS_UNSPEC, D_CTRL_STD_OFF, D_CTRL_RCYC_8, 1 << DMA_CHANNEL_GIF);
dmaKit_chan_init(DMA_CHANNEL_GIF);
- printf("\nGraphics: created %ix%i video surface\n",
- gsGlobal->Width, gsGlobal->Height);
-
gsKit_set_clamp(gsGlobal, GS_CMODE_REPEAT);
gsKit_vram_clear(gsGlobal);
@@ -1224,6 +1221,6 @@ SDL_RenderDriver PS2_RenderDriver = {
.max_texture_height = 512,}
};
-#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_PS2 */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_render_sw_c.h b/src/render/ps2/SDL_render_ps2.h
similarity index 87%
rename from src/render/ps2/SDL_render_sw_c.h
rename to src/render/ps2/SDL_render_ps2.h
index e4812d3df44..a9eecd6f5d5 100644
--- a/src/render/ps2/SDL_render_sw_c.h
+++ b/src/render/ps2/SDL_render_ps2.h
@@ -19,8 +19,8 @@
3. This notice may not be removed or altered from any source distribution.
*/
-#ifndef SDL_render_sw_c_h_
-#define SDL_render_sw_c_h_
+#ifndef SDL_render_ps2_h_
+#define SDL_render_ps2_h_
#include <kernel.h>
@@ -30,8 +30,8 @@
#include <gsToolkit.h>
#include <gsInline.h>
-extern SDL_Renderer * SW_CreateRendererForSurface(SDL_Surface * surface);
+extern SDL_Renderer * PS2_CreateRendererForSurface(SDL_Surface * surface);
-#endif /* SDL_render_sw_c_h_ */
+#endif /* SDL_render_ps2_ */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_rotate.c b/src/render/ps2/SDL_rotate.c
index e35a5ebea58..4676887e8af 100644
--- a/src/render/ps2/SDL_rotate.c
+++ b/src/render/ps2/SDL_rotate.c
@@ -574,4 +574,4 @@ SDLgfx_rotateSurface(SDL_Surface * src, double angle, int smooth, int flipx, int
return rz_dst;
}
-#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
diff --git a/src/render/ps2/SDL_triangle.c b/src/render/ps2/SDL_triangle.c
index a7bc2058d03..2e1b7dfcd87 100644
--- a/src/render/ps2/SDL_triangle.c
+++ b/src/render/ps2/SDL_triangle.c
@@ -67,9 +67,9 @@ int SDL_BlitTriangle(SDL_Surface *src, const SDL_Point srcpoints[3], SDL_Surface
points[4] = srcpoints[2];
points[5] = dstpoints[2];
for (i = 0; i < 3; i++) {
- trianglepoint_2_fixedpoint(&points[2 * i + 1]);
+ PS2_trianglepoint_2_fixedpoint(&points[2 * i + 1]);
}
- return SDL_SW_BlitTriangle(src, dst, points);
+ return SDL_PS2_BlitTriangle(src, dst, points);
}
int SDL_FillTriangle(SDL_Surface *dst, const SDL_Point points[3], Uint32 color)
@@ -81,9 +81,9 @@ int SDL_FillTriangle(SDL_Surface *dst, const SDL_Point points[3], Uint32 color)
}
for (i = 0; i < 3; i++) {
points_tmp[i] = points[i];
- trianglepoint_2_fixedpoint(&points_tmp[i]);
+ PS2_trianglepoint_2_fixedpoint(&points_tmp[i]);
}
- return SDL_SW_FillTriangle(dst, points_tmp, SDL_BLENDMODE_NONE, color);
+ return SDL_PS2_FillTriangle(dst, points_tmp, SDL_BLENDMODE_NONE, color);
}
#endif
@@ -114,7 +114,7 @@ static int is_top_left(const SDL_Point *a, const SDL_Point *b, int is_clockwise)
return 0;
}
-void trianglepoint_2_fixedpoint(SDL_Point *a) {
+void PS2_trianglepoint_2_fixedpoint(SDL_Point *a) {
a->x <<= FP_BITS;
a->y <<= FP_BITS;
}
@@ -202,7 +202,7 @@ static void bounding_rect(const SDL_Point *a, const SDL_Point *b, const SDL_Poin
} \
} \
-int SDL_SW_FillTriangle(SDL_Surface *dst, SDL_Point *d0, SDL_Point *d1, SDL_Point *d2, SDL_BlendMode blend, SDL_Color c0, SDL_Color c1, SDL_Color c2)
+int SDL_PS2_FillTriangle(SDL_Surface *dst, SDL_Point *d0, SDL_Point *d1, SDL_Point *d2, SDL_BlendMode blend, SDL_Color c0, SDL_Color c1, SDL_Color c2)
{
int ret = 0;
int dst_locked = 0;
@@ -314,7 +314,7 @@ int SDL_SW_FillTriangle(SDL_Surface *dst, SDL_Point *d0, SDL_Point *d1, SDL_Poin
SDL_Point p;
p.x = dstrect.x;
p.y = dstrect.y;
- trianglepoint_2_fixedpoint(&p);
+ PS2_trianglepoint_2_fixedpoint(&p);
p.x += (1 << FP_BITS) / 2;
p.y += (1 << FP_BITS) / 2;
w0_row = cross_product(d1, d2, p.x, p.y);
@@ -439,7 +439,7 @@ int SDL_SW_FillTriangle(SDL_Surface *dst, SDL_Point *d0, SDL_Point *d1, SDL_Poin
-int SDL_SW_BlitTriangle(
+int SDL_PS2_BlitTriangle(
SDL_Surface *src,
SDL_Point *s0, SDL_Point *s1, SDL_Point *s2,
SDL_Surface *dst,
@@ -587,7 +587,7 @@ int SDL_SW_BlitTriangle(
SDL_Point p;
p.x = dstrect.x;
p.y = dstrect.y;
- trianglepoint_2_fixedpoint(&p);
+ PS2_trianglepoint_2_fixedpoint(&p);
p.x += (1 << FP_BITS) / 2;
p.y += (1 << FP_BITS) / 2;
w0_row = cross_product(d1, d2, p.x, p.y);
@@ -883,6 +883,6 @@ SDL_BlitTriangle_Slow(SDL_BlitInfo *info,
TRIANGLE_END_LOOP
}
-#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
+#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
/* vi: set ts=4 sw=4 expandtab: */
diff --git a/src/render/ps2/SDL_triangle.h b/src/render/ps2/SDL_triangle.h
index c120b39cf4f..39f4b5abcd8 100644
--- a/src/render/ps2/SDL_triangle.h
+++ b/src/render/ps2/SDL_triangle.h
@@ -24,18 +24,18 @@
#include "../../SDL_internal.h"
-extern int SDL_SW_FillTriangle(SDL_Surface *dst,
+extern int SDL_PS2_FillTriangle(SDL_Surface *dst,
SDL_Point *d0, SDL_Point *d1, SDL_Point *d2,
SDL_BlendMode blend, SDL_Color c0, SDL_Color c1, SDL_Color c2);
-extern int SDL_SW_BlitTriangle(
+extern int SDL_PS2_BlitTriangle(
SDL_Surface *src,
SDL_Point *s0, SDL_Point *s1, SDL_Point *s2,
SDL_Surface *dst,
SDL_Point *d0, SDL_Point *d1, SDL_Point *d2,
SDL_Color c0, SDL_Color c1, SDL_Color c2);
-extern void trianglepoint_2_fixedpoint(SDL_Point *a);
+extern void PS2_trianglepoint_2_fixedpoint(SDL_Point *a);
#endif /* SDL_triangle_h_ */