mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-05-29 04:21:03 +08:00
Whole clean around render and video driver
This commit is contained in:
committed by
Sam Lantinga
parent
cdf89fde91
commit
c472b8dd45
+90
-1098
File diff suppressed because it is too large
Load Diff
@@ -1,37 +0,0 @@
|
|||||||
/*
|
|
||||||
Simple DirectMedia Layer
|
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any damages
|
|
||||||
arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute it
|
|
||||||
freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
|
||||||
claim that you wrote the original software. If you use this software
|
|
||||||
in a product, an acknowledgment in the product documentation would be
|
|
||||||
appreciated but is not required.
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
misrepresented as being the original software.
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SDL_render_ps2_h_
|
|
||||||
#define SDL_render_ps2_h_
|
|
||||||
|
|
||||||
#include <kernel.h>
|
|
||||||
|
|
||||||
#include <gsKit.h>
|
|
||||||
#include <dmaKit.h>
|
|
||||||
|
|
||||||
#include <gsToolkit.h>
|
|
||||||
#include <gsInline.h>
|
|
||||||
|
|
||||||
extern SDL_Renderer * PS2_CreateRendererForSurface(SDL_Surface * surface);
|
|
||||||
|
|
||||||
#endif /* SDL_render_ps2_ */
|
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
Simple DirectMedia Layer
|
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any damages
|
|
||||||
arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute it
|
|
||||||
freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
|
||||||
claim that you wrote the original software. If you use this software
|
|
||||||
in a product, an acknowledgment in the product documentation would be
|
|
||||||
appreciated but is not required.
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
misrepresented as being the original software.
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SDL_rotate_h_
|
|
||||||
#define SDL_rotate_h_
|
|
||||||
|
|
||||||
extern SDL_Surface *SDLgfx_rotateSurface(SDL_Surface * src, double angle, int smooth, int flipx, int flipy,
|
|
||||||
const SDL_Rect *rect_dest, double cangle, double sangle, const SDL_FPoint *center);
|
|
||||||
extern void SDLgfx_rotozoomSurfaceSizeTrig(int width, int height, double angle, const SDL_FPoint *center,
|
|
||||||
SDL_Rect *rect_dest, double *cangle, double *sangle);
|
|
||||||
|
|
||||||
#endif /* SDL_rotate_h_ */
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
/*
|
|
||||||
Simple DirectMedia Layer
|
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any damages
|
|
||||||
arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute it
|
|
||||||
freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
|
||||||
claim that you wrote the original software. If you use this software
|
|
||||||
in a product, an acknowledgment in the product documentation would be
|
|
||||||
appreciated but is not required.
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
misrepresented as being the original software.
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
|
||||||
*/
|
|
||||||
#include "../../SDL_internal.h"
|
|
||||||
|
|
||||||
#if SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED
|
|
||||||
|
|
||||||
#include "SDL_surface.h"
|
|
||||||
#include "SDL_triangle.h"
|
|
||||||
|
|
||||||
#include "../../video/SDL_blit.h"
|
|
||||||
|
|
||||||
/* fixed points bits precision
|
|
||||||
* Set to 1, so that it can start rendering wth middle of a pixel precision.
|
|
||||||
* It doesn't need to be increased.
|
|
||||||
* But, if increased too much, it overflows (srcx, srcy) coordinates used for filling with texture.
|
|
||||||
* (which could be turned to int64).
|
|
||||||
*/
|
|
||||||
#define FP_BITS 1
|
|
||||||
|
|
||||||
|
|
||||||
void PS2_trianglepoint_2_fixedpoint(SDL_Point *a) {
|
|
||||||
a->x <<= FP_BITS;
|
|
||||||
a->y <<= FP_BITS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* bounding rect of three points (in fixed point) */
|
|
||||||
static void bounding_rect_fixedpoint(const SDL_Point *a, const SDL_Point *b, const SDL_Point *c, SDL_Rect *r)
|
|
||||||
{
|
|
||||||
int min_x = SDL_min(a->x, SDL_min(b->x, c->x));
|
|
||||||
int max_x = SDL_max(a->x, SDL_max(b->x, c->x));
|
|
||||||
int min_y = SDL_min(a->y, SDL_min(b->y, c->y));
|
|
||||||
int max_y = SDL_max(a->y, SDL_max(b->y, c->y));
|
|
||||||
/* points are in fixed point, shift back */
|
|
||||||
r->x = min_x >> FP_BITS;
|
|
||||||
r->y = min_y >> FP_BITS;
|
|
||||||
r->w = (max_x - min_x) >> FP_BITS;
|
|
||||||
r->h = (max_y - min_y) >> FP_BITS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* bounding rect of three points */
|
|
||||||
static void bounding_rect(const SDL_Point *a, const SDL_Point *b, const SDL_Point *c, SDL_Rect *r)
|
|
||||||
{
|
|
||||||
int min_x = SDL_min(a->x, SDL_min(b->x, c->x));
|
|
||||||
int max_x = SDL_max(a->x, SDL_max(b->x, c->x));
|
|
||||||
int min_y = SDL_min(a->y, SDL_min(b->y, c->y));
|
|
||||||
int max_y = SDL_max(a->y, SDL_max(b->y, c->y));
|
|
||||||
r->x = min_x;
|
|
||||||
r->y = min_y;
|
|
||||||
r->w = (max_x - min_x);
|
|
||||||
r->h = (max_y - min_y);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Triangle rendering, using Barycentric coordinates (w0, w1, w2)
|
|
||||||
*
|
|
||||||
* The cross product isn't computed from scratch at each iteration,
|
|
||||||
* but optimized using constant step increments
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TRIANGLE_BEGIN_LOOP \
|
|
||||||
{ \
|
|
||||||
int x, y; \
|
|
||||||
for (y = 0; y < dstrect.h; y++) { \
|
|
||||||
/* y start */ \
|
|
||||||
int w0 = w0_row; \
|
|
||||||
int w1 = w1_row; \
|
|
||||||
int w2 = w2_row; \
|
|
||||||
for (x = 0; x < dstrect.w; x++) { \
|
|
||||||
/* In triangle */ \
|
|
||||||
if (w0 + bias_w0 >= 0 && w1 + bias_w1 >= 0 && w2 + bias_w2 >= 0) { \
|
|
||||||
Uint8 *dptr = (Uint8 *) dst_ptr + x * dstbpp; \
|
|
||||||
|
|
||||||
|
|
||||||
/* Use 64 bits precision to prevent overflow when interpolating color / texture with wide triangles */
|
|
||||||
#define TRIANGLE_GET_TEXTCOORD \
|
|
||||||
int srcx = (int)(((Sint64)w0 * s2s0_x + (Sint64)w1 * s2s1_x + s2_x_area.x) / area); \
|
|
||||||
int srcy = (int)(((Sint64)w0 * s2s0_y + (Sint64)w1 * s2s1_y + s2_x_area.y) / area); \
|
|
||||||
|
|
||||||
#define TRIANGLE_GET_MAPPED_COLOR \
|
|
||||||
int r = (int)(((Sint64)w0 * c0.r + (Sint64)w1 * c1.r + (Sint64)w2 * c2.r) / area); \
|
|
||||||
int g = (int)(((Sint64)w0 * c0.g + (Sint64)w1 * c1.g + (Sint64)w2 * c2.g) / area); \
|
|
||||||
int b = (int)(((Sint64)w0 * c0.b + (Sint64)w1 * c1.b + (Sint64)w2 * c2.b) / area); \
|
|
||||||
int a = (int)(((Sint64)w0 * c0.a + (Sint64)w1 * c1.a + (Sint64)w2 * c2.a) / area); \
|
|
||||||
int color = SDL_MapRGBA(format, r, g, b, a); \
|
|
||||||
|
|
||||||
#define TRIANGLE_GET_COLOR \
|
|
||||||
int r = (int)(((Sint64)w0 * c0.r + (Sint64)w1 * c1.r + (Sint64)w2 * c2.r) / area); \
|
|
||||||
int g = (int)(((Sint64)w0 * c0.g + (Sint64)w1 * c1.g + (Sint64)w2 * c2.g) / area); \
|
|
||||||
int b = (int)(((Sint64)w0 * c0.b + (Sint64)w1 * c1.b + (Sint64)w2 * c2.b) / area); \
|
|
||||||
int a = (int)(((Sint64)w0 * c0.a + (Sint64)w1 * c1.a + (Sint64)w2 * c2.a) / area); \
|
|
||||||
|
|
||||||
|
|
||||||
#define TRIANGLE_END_LOOP \
|
|
||||||
} \
|
|
||||||
/* x += 1 */ \
|
|
||||||
w0 += d2d1_y; \
|
|
||||||
w1 += d0d2_y; \
|
|
||||||
w2 += d1d0_y; \
|
|
||||||
} \
|
|
||||||
/* y += 1 */ \
|
|
||||||
w0_row += d1d2_x; \
|
|
||||||
w1_row += d2d0_x; \
|
|
||||||
w2_row += d0d1_x; \
|
|
||||||
dst_ptr += dst_pitch; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_RENDER_PS2 && !SDL_RENDER_DISABLED */
|
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
Simple DirectMedia Layer
|
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any damages
|
|
||||||
arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute it
|
|
||||||
freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
|
||||||
claim that you wrote the original software. If you use this software
|
|
||||||
in a product, an acknowledgment in the product documentation would be
|
|
||||||
appreciated but is not required.
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
misrepresented as being the original software.
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SDL_triangle_h_
|
|
||||||
#define SDL_triangle_h_
|
|
||||||
|
|
||||||
#include "../../SDL_internal.h"
|
|
||||||
|
|
||||||
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_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 PS2_trianglepoint_2_fixedpoint(SDL_Point *a);
|
|
||||||
|
|
||||||
#endif /* SDL_triangle_h_ */
|
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
int SDL_PS2_CreateWindowFramebuffer(_THIS, SDL_Window * window, Uint32 * format, void ** pixels, int *pitch)
|
int SDL_PS2_CreateWindowFramebuffer(_THIS, SDL_Window * window, Uint32 * format, void ** pixels, int *pitch)
|
||||||
{
|
{
|
||||||
SDL_Surface *surface;
|
SDL_Surface *surface;
|
||||||
const Uint32 surface_format = SDL_PIXELFORMAT_RGB888;
|
const Uint32 surface_format = SDL_PIXELFORMAT_ABGR8888;
|
||||||
int w, h;
|
int w, h;
|
||||||
|
|
||||||
/* Free the old framebuffer surface */
|
/* Free the old framebuffer surface */
|
||||||
|
|||||||
+47
-124
@@ -48,23 +48,57 @@
|
|||||||
#include "SDL_ps2framebuffer_c.h"
|
#include "SDL_ps2framebuffer_c.h"
|
||||||
#include "SDL_hints.h"
|
#include "SDL_hints.h"
|
||||||
|
|
||||||
#define PS2VID_DRIVER_NAME "ps2"
|
|
||||||
|
|
||||||
/* Initialization/Query functions */
|
|
||||||
static int PS2_VideoInit(_THIS);
|
|
||||||
static int PS2_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode);
|
|
||||||
static void PS2_VideoQuit(_THIS);
|
|
||||||
|
|
||||||
/* PS2 driver bootstrap functions */
|
/* PS2 driver bootstrap functions */
|
||||||
|
|
||||||
static void
|
static int PS2_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode)
|
||||||
PS2_DeleteDevice(SDL_VideoDevice * device)
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void PS2_DeleteDevice(SDL_VideoDevice * device)
|
||||||
{
|
{
|
||||||
SDL_free(device);
|
SDL_free(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
static SDL_VideoDevice *
|
static int PS2_VideoInit(_THIS)
|
||||||
PS2_CreateDevice(int devindex)
|
{
|
||||||
|
SDL_VideoDisplay display;
|
||||||
|
SDL_DisplayMode current_mode;
|
||||||
|
|
||||||
|
SDL_zero(current_mode);
|
||||||
|
|
||||||
|
current_mode.w = 640;
|
||||||
|
current_mode.h = 480;
|
||||||
|
current_mode.refresh_rate = 60;
|
||||||
|
|
||||||
|
/* 32 bpp for default */
|
||||||
|
current_mode.format = SDL_PIXELFORMAT_ABGR8888;
|
||||||
|
current_mode.driverdata = NULL;
|
||||||
|
|
||||||
|
SDL_zero(display);
|
||||||
|
display.desktop_mode = current_mode;
|
||||||
|
display.current_mode = current_mode;
|
||||||
|
display.driverdata = NULL;
|
||||||
|
SDL_AddDisplayMode(&display, ¤t_mode);
|
||||||
|
|
||||||
|
/* 16 bpp secondary mode */
|
||||||
|
current_mode.format = SDL_PIXELFORMAT_ABGR1555;
|
||||||
|
display.desktop_mode = current_mode;
|
||||||
|
display.current_mode = current_mode;
|
||||||
|
SDL_AddDisplayMode(&display, ¤t_mode);
|
||||||
|
|
||||||
|
|
||||||
|
SDL_AddVideoDisplay(&display, SDL_FALSE);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void PS2_VideoQuit(_THIS)
|
||||||
|
{
|
||||||
|
/*gsKit_deinit_global(gsGlobal);*/
|
||||||
|
}
|
||||||
|
|
||||||
|
static SDL_VideoDevice *PS2_CreateDevice(int devindex)
|
||||||
{
|
{
|
||||||
SDL_VideoDevice *device;
|
SDL_VideoDevice *device;
|
||||||
|
|
||||||
@@ -74,7 +108,6 @@ PS2_CreateDevice(int devindex)
|
|||||||
SDL_OutOfMemory();
|
SDL_OutOfMemory();
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
device->is_dummy = SDL_TRUE;
|
|
||||||
|
|
||||||
/* Set the function pointers */
|
/* Set the function pointers */
|
||||||
device->VideoInit = PS2_VideoInit;
|
device->VideoInit = PS2_VideoInit;
|
||||||
@@ -91,121 +124,11 @@ PS2_CreateDevice(int devindex)
|
|||||||
}
|
}
|
||||||
|
|
||||||
VideoBootStrap PS2_bootstrap = {
|
VideoBootStrap PS2_bootstrap = {
|
||||||
PS2VID_DRIVER_NAME, "SDL PS2 video driver",
|
"PS2",
|
||||||
|
"PS2 Video Driver",
|
||||||
PS2_CreateDevice
|
PS2_CreateDevice
|
||||||
};
|
};
|
||||||
|
|
||||||
int
|
|
||||||
PS2_VideoInit(_THIS)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
ee_sema_t sema;
|
|
||||||
sema.init_count = 0;
|
|
||||||
sema.max_count = 1;
|
|
||||||
sema.option = 0;
|
|
||||||
vsync_sema_id = CreateSema(&sema);
|
|
||||||
|
|
||||||
gsGlobal = gsKit_init_global();
|
|
||||||
|
|
||||||
gsGlobal->Mode = gsKit_check_rom();
|
|
||||||
if (gsGlobal->Mode == GS_MODE_PAL){
|
|
||||||
gsGlobal->Height = 512;
|
|
||||||
} else {
|
|
||||||
gsGlobal->Height = 448;
|
|
||||||
}
|
|
||||||
|
|
||||||
gsGlobal->PSM = GS_PSM_CT24;
|
|
||||||
gsGlobal->PSMZ = GS_PSMZ_16S;
|
|
||||||
gsGlobal->ZBuffering = GS_SETTING_OFF;
|
|
||||||
gsGlobal->DoubleBuffering = GS_SETTING_ON;
|
|
||||||
gsGlobal->PrimAlphaEnable = GS_SETTING_ON;
|
|
||||||
gsGlobal->Dithering = GS_SETTING_OFF;
|
|
||||||
|
|
||||||
gsKit_set_primalpha(gsGlobal, GS_SETREG_ALPHA(0, 1, 0, 1, 0), 0);
|
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
gsKit_init_screen(gsGlobal);
|
|
||||||
|
|
||||||
gsKit_TexManager_init(gsGlobal);
|
|
||||||
|
|
||||||
gsKit_add_vsync_handler(vsync_handler);
|
|
||||||
|
|
||||||
gsKit_mode_switch(gsGlobal, GS_ONESHOT);
|
|
||||||
|
|
||||||
gsKit_clear(gsGlobal, GS_SETREG_RGBAQ(0x80,0x00,0x00,0x80,0x00));
|
|
||||||
|
|
||||||
if (gsGlobal->DoubleBuffering == GS_SETTING_OFF) {
|
|
||||||
gsKit_sync(gsGlobal);
|
|
||||||
gsKit_queue_exec(gsGlobal);
|
|
||||||
} else {
|
|
||||||
gsKit_queue_exec(gsGlobal);
|
|
||||||
gsKit_finish();
|
|
||||||
gsKit_sync(gsGlobal);
|
|
||||||
gsKit_flip(gsGlobal);
|
|
||||||
}
|
|
||||||
gsKit_TexManager_nextFrame(gsGlobal);
|
|
||||||
*/
|
|
||||||
|
|
||||||
SDL_DisplayMode mode;
|
|
||||||
|
|
||||||
/* Use a fake 32-bpp desktop mode */
|
|
||||||
SDL_zero(mode);
|
|
||||||
mode.format = SDL_PIXELFORMAT_RGBA8888;
|
|
||||||
mode.w = 640;
|
|
||||||
/*if (gsGlobal->Mode == GS_MODE_PAL){
|
|
||||||
mode.h = 512;
|
|
||||||
} else {
|
|
||||||
mode.h = 448;
|
|
||||||
}*/
|
|
||||||
mode.h = 448;
|
|
||||||
mode.refresh_rate = 60;
|
|
||||||
mode.driverdata = NULL;
|
|
||||||
if (SDL_AddBasicVideoDisplay(&mode) < 0) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_AddDisplayMode(&_this->displays[0], &mode);
|
|
||||||
|
|
||||||
/* We're done! */
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
SDL_to_PS2_PFM(Uint32 format)
|
|
||||||
{
|
|
||||||
switch (format) {
|
|
||||||
case SDL_PIXELFORMAT_RGBA5551:
|
|
||||||
return GS_PSM_CT16S;
|
|
||||||
case SDL_PIXELFORMAT_RGB24:
|
|
||||||
return GS_PSM_CT24;
|
|
||||||
case SDL_PIXELFORMAT_ABGR32:
|
|
||||||
return GS_PSM_CT32;
|
|
||||||
default:
|
|
||||||
return GS_PSM_CT24;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
PS2_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
PS2_VideoQuit(_THIS)
|
|
||||||
{
|
|
||||||
/*gsKit_deinit_global(gsGlobal);*/
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_DRIVER_PS2 */
|
#endif /* SDL_VIDEO_DRIVER_PS2 */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|||||||
Reference in New Issue
Block a user