mirror of https://github.com/encounter/SDL.git
Finish dummy driver
This commit is contained in:
parent
2660449c6c
commit
147a71b976
|
@ -2575,7 +2575,7 @@ elseif(PS2)
|
||||||
file(GLOB PS2_VIDEO_SOURCES
|
file(GLOB PS2_VIDEO_SOURCES
|
||||||
${SDL2_SOURCE_DIR}/src/video/ps2/*.c
|
${SDL2_SOURCE_DIR}/src/video/ps2/*.c
|
||||||
${SDL2_SOURCE_DIR}/src/render/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(SDL_VIDEO_OPENGL 0)
|
||||||
set(HAVE_SDL_VIDEO TRUE)
|
set(HAVE_SDL_VIDEO TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -456,6 +456,7 @@
|
||||||
#cmakedefine SDL_VIDEO_RENDER_DIRECTFB @SDL_VIDEO_RENDER_DIRECTFB@
|
#cmakedefine SDL_VIDEO_RENDER_DIRECTFB @SDL_VIDEO_RENDER_DIRECTFB@
|
||||||
#cmakedefine SDL_VIDEO_RENDER_METAL @SDL_VIDEO_RENDER_METAL@
|
#cmakedefine SDL_VIDEO_RENDER_METAL @SDL_VIDEO_RENDER_METAL@
|
||||||
#cmakedefine SDL_VIDEO_RENDER_VITA_GXM @SDL_VIDEO_RENDER_VITA_GXM@
|
#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@
|
#cmakedefine SDL_VIDEO_RENDER_PSP @SDL_VIDEO_RENDER_PSP@
|
||||||
|
|
||||||
/* Enable OpenGL support */
|
/* Enable OpenGL support */
|
||||||
|
|
|
@ -114,7 +114,7 @@ static const SDL_RenderDriver *render_drivers[] = {
|
||||||
#if SDL_VIDEO_RENDER_DIRECTFB
|
#if SDL_VIDEO_RENDER_DIRECTFB
|
||||||
&DirectFB_RenderDriver,
|
&DirectFB_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#if SDL_VIDEO_RENDER_PS2
|
#if SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED
|
||||||
&PS2_RenderDriver,
|
&PS2_RenderDriver,
|
||||||
#endif
|
#endif
|
||||||
#if SDL_VIDEO_RENDER_PSP
|
#if SDL_VIDEO_RENDER_PSP
|
||||||
|
|
|
@ -352,6 +352,6 @@ SDL_BlendFillRects(SDL_Surface * dst, const SDL_Rect * rects, int count,
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_SW */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -870,6 +870,6 @@ SDL_BlendLines(SDL_Surface * dst, const SDL_Point * points, int count,
|
||||||
return 0;
|
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: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -357,6 +357,6 @@ SDL_BlendPoints(SDL_Surface * dst, const SDL_Point * points, int count,
|
||||||
return status;
|
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: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -208,6 +208,6 @@ SDL_DrawLines(SDL_Surface * dst, const SDL_Point * points, int count,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_PS2 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -109,6 +109,6 @@ SDL_DrawPoints(SDL_Surface * dst, const SDL_Point * points, int count,
|
||||||
return 0;
|
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: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#if SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED
|
#if SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED
|
||||||
|
|
||||||
#include "../SDL_sysrender.h"
|
#include "../SDL_sysrender.h"
|
||||||
#include "SDL_render_sw_c.h"
|
#include "SDL_render_ps2.h"
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
|
|
||||||
#include "SDL_draw.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_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);
|
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_set_clamp(gsGlobal, GS_CMODE_REPEAT);
|
||||||
|
|
||||||
gsKit_vram_clear(gsGlobal);
|
gsKit_vram_clear(gsGlobal);
|
||||||
|
@ -1224,6 +1221,6 @@ SDL_RenderDriver PS2_RenderDriver = {
|
||||||
.max_texture_height = 512,}
|
.max_texture_height = 512,}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_PS2 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
|
@ -19,8 +19,8 @@
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SDL_render_sw_c_h_
|
#ifndef SDL_render_ps2_h_
|
||||||
#define SDL_render_sw_c_h_
|
#define SDL_render_ps2_h_
|
||||||
|
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
|
|
||||||
|
@ -30,8 +30,8 @@
|
||||||
#include <gsToolkit.h>
|
#include <gsToolkit.h>
|
||||||
#include <gsInline.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: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
|
@ -574,4 +574,4 @@ SDLgfx_rotateSurface(SDL_Surface * src, double angle, int smooth, int flipx, int
|
||||||
return rz_dst;
|
return rz_dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
|
||||||
|
|
|
@ -67,9 +67,9 @@ int SDL_BlitTriangle(SDL_Surface *src, const SDL_Point srcpoints[3], SDL_Surface
|
||||||
points[4] = srcpoints[2];
|
points[4] = srcpoints[2];
|
||||||
points[5] = dstpoints[2];
|
points[5] = dstpoints[2];
|
||||||
for (i = 0; i < 3; i++) {
|
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)
|
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++) {
|
for (i = 0; i < 3; i++) {
|
||||||
points_tmp[i] = points[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
|
#endif
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ static int is_top_left(const SDL_Point *a, const SDL_Point *b, int is_clockwise)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void trianglepoint_2_fixedpoint(SDL_Point *a) {
|
void PS2_trianglepoint_2_fixedpoint(SDL_Point *a) {
|
||||||
a->x <<= FP_BITS;
|
a->x <<= FP_BITS;
|
||||||
a->y <<= 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 ret = 0;
|
||||||
int dst_locked = 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;
|
SDL_Point p;
|
||||||
p.x = dstrect.x;
|
p.x = dstrect.x;
|
||||||
p.y = dstrect.y;
|
p.y = dstrect.y;
|
||||||
trianglepoint_2_fixedpoint(&p);
|
PS2_trianglepoint_2_fixedpoint(&p);
|
||||||
p.x += (1 << FP_BITS) / 2;
|
p.x += (1 << FP_BITS) / 2;
|
||||||
p.y += (1 << FP_BITS) / 2;
|
p.y += (1 << FP_BITS) / 2;
|
||||||
w0_row = cross_product(d1, d2, p.x, p.y);
|
w0_row = cross_product(d1, d2, p.x, p.y);
|
||||||
|
@ -439,7 +439,7 @@ end:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int SDL_SW_BlitTriangle(
|
int SDL_PS2_BlitTriangle(
|
||||||
SDL_Surface *src,
|
SDL_Surface *src,
|
||||||
SDL_Point *s0, SDL_Point *s1, SDL_Point *s2,
|
SDL_Point *s0, SDL_Point *s1, SDL_Point *s2,
|
||||||
SDL_Surface *dst,
|
SDL_Surface *dst,
|
||||||
|
@ -587,7 +587,7 @@ int SDL_SW_BlitTriangle(
|
||||||
SDL_Point p;
|
SDL_Point p;
|
||||||
p.x = dstrect.x;
|
p.x = dstrect.x;
|
||||||
p.y = dstrect.y;
|
p.y = dstrect.y;
|
||||||
trianglepoint_2_fixedpoint(&p);
|
PS2_trianglepoint_2_fixedpoint(&p);
|
||||||
p.x += (1 << FP_BITS) / 2;
|
p.x += (1 << FP_BITS) / 2;
|
||||||
p.y += (1 << FP_BITS) / 2;
|
p.y += (1 << FP_BITS) / 2;
|
||||||
w0_row = cross_product(d1, d2, p.x, p.y);
|
w0_row = cross_product(d1, d2, p.x, p.y);
|
||||||
|
@ -883,6 +883,6 @@ SDL_BlitTriangle_Slow(SDL_BlitInfo *info,
|
||||||
TRIANGLE_END_LOOP
|
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: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
|
@ -24,18 +24,18 @@
|
||||||
|
|
||||||
#include "../../SDL_internal.h"
|
#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_Point *d0, SDL_Point *d1, SDL_Point *d2,
|
||||||
SDL_BlendMode blend, SDL_Color c0, SDL_Color c1, SDL_Color c2);
|
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_Surface *src,
|
||||||
SDL_Point *s0, SDL_Point *s1, SDL_Point *s2,
|
SDL_Point *s0, SDL_Point *s1, SDL_Point *s2,
|
||||||
SDL_Surface *dst,
|
SDL_Surface *dst,
|
||||||
SDL_Point *d0, SDL_Point *d1, SDL_Point *d2,
|
SDL_Point *d0, SDL_Point *d1, SDL_Point *d2,
|
||||||
SDL_Color c0, SDL_Color c1, SDL_Color c2);
|
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_ */
|
#endif /* SDL_triangle_h_ */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue