From b6b1631cb5b54e448ec1579e67301afa4ef0ceb9 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 4 Dec 2009 08:45:08 +0000 Subject: [PATCH] Fixed calls to SDL_AddRenderDriver() --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404263 --- src/video/SDL_renderer_gl.c | 8 -------- src/video/SDL_renderer_gles.c | 8 -------- src/video/directfb/SDL_DirectFB_render.c | 4 +++- src/video/dummy/SDL_nullvideo.c | 10 ++++++---- src/video/nds/SDL_ndsvideo.c | 6 ++++-- src/video/ps3/SDL_ps3video.c | 6 +++++- src/video/win32/SDL_ceddrawrender.c | 4 +++- src/video/win32/SDL_d3drender.c | 4 +++- src/video/win32/SDL_gapirender.c | 6 +++++- src/video/win32/SDL_gdirender.c | 5 ++++- src/video/x11/SDL_x11render.c | 5 ++++- 11 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/video/SDL_renderer_gl.c b/src/video/SDL_renderer_gl.c index c643626ac..092e54293 100644 --- a/src/video/SDL_renderer_gl.c +++ b/src/video/SDL_renderer_gl.c @@ -257,14 +257,6 @@ GL_LoadFunctions(GL_RenderData * data) return 0; } -void -GL_AddRenderDriver(_THIS) -{ - if (_this->GL_CreateContext) { - SDL_AddRenderDriver(0, &GL_RenderDriver); - } -} - SDL_Renderer * GL_CreateRenderer(SDL_Window * window, Uint32 flags) { diff --git a/src/video/SDL_renderer_gles.c b/src/video/SDL_renderer_gles.c index e59929d22..ec9cf6762 100644 --- a/src/video/SDL_renderer_gles.c +++ b/src/video/SDL_renderer_gles.c @@ -200,14 +200,6 @@ GLES_LoadFunctions(GLES_RenderData * data) return 0; } -void -GLES_AddRenderDriver(_THIS) -{ - if (_this->GL_CreateContext) { - SDL_AddRenderDriver(0, &GL_ES_RenderDriver); - } -} - SDL_Renderer * GLES_CreateRenderer(SDL_Window * window, Uint32 flags) { diff --git a/src/video/directfb/SDL_DirectFB_render.c b/src/video/directfb/SDL_DirectFB_render.c index fe54bf951..4a906b4ed 100644 --- a/src/video/directfb/SDL_DirectFB_render.c +++ b/src/video/directfb/SDL_DirectFB_render.c @@ -233,8 +233,10 @@ void DirectFB_AddRenderDriver(_THIS) { int i; - for (i = 0; i < _this->num_displays; i++) + + for (i = 0; i < _this->num_displays; ++i) { SDL_AddRenderDriver(&_this->displays[i], &DirectFB_RenderDriver); + } } static int diff --git a/src/video/dummy/SDL_nullvideo.c b/src/video/dummy/SDL_nullvideo.c index efdc9576c..3126eb7f6 100644 --- a/src/video/dummy/SDL_nullvideo.c +++ b/src/video/dummy/SDL_nullvideo.c @@ -50,7 +50,7 @@ /* Initialization/Query functions */ static int DUMMY_VideoInit(_THIS); -static int DUMMY_SetDisplayMode(_THIS, SDL_DisplayMode * mode); +static int DUMMY_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode); static void DUMMY_VideoQuit(_THIS); /* DUMMY driver bootstrap functions */ @@ -115,8 +115,10 @@ DUMMY_VideoInit(_THIS) mode.h = 768; mode.refresh_rate = 0; mode.driverdata = NULL; - SDL_AddBasicVideoDisplay(&mode); - SDL_AddRenderDriver(0, &SDL_DUMMY_RenderDriver); + if (SDL_AddBasicVideoDisplay(&mode) < 0) { + return -1; + } + SDL_AddRenderDriver(&_this->displays[0], &SDL_DUMMY_RenderDriver); SDL_zero(mode); SDL_AddDisplayMode(0, &mode); @@ -126,7 +128,7 @@ DUMMY_VideoInit(_THIS) } static int -DUMMY_SetDisplayMode(_THIS, SDL_DisplayMode * mode) +DUMMY_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode) { return 0; } diff --git a/src/video/nds/SDL_ndsvideo.c b/src/video/nds/SDL_ndsvideo.c index 622044674..254c444e0 100644 --- a/src/video/nds/SDL_ndsvideo.c +++ b/src/video/nds/SDL_ndsvideo.c @@ -110,8 +110,10 @@ NDS_VideoInit(_THIS) mode.refresh_rate = 60; mode.driverdata = NULL; - SDL_AddBasicVideoDisplay(&mode); - SDL_AddRenderDriver(0, &NDS_RenderDriver); + if (SDL_AddBasicVideoDisplay(&mode) < 0) { + return -1; + } + SDL_AddRenderDriver(&_this->displays[0], &NDS_RenderDriver); SDL_zero(mode); SDL_AddDisplayMode(0, &mode); diff --git a/src/video/ps3/SDL_ps3video.c b/src/video/ps3/SDL_ps3video.c index 95cc9c150..59a74f6ec 100644 --- a/src/video/ps3/SDL_ps3video.c +++ b/src/video/ps3/SDL_ps3video.c @@ -124,6 +124,8 @@ VideoBootStrap PS3_bootstrap = { int PS3_VideoInit(_THIS) { + int i; + deprintf(1, "PS3_VideoInit()\n"); SDL_VideoData *data = (SDL_VideoData *) _this->driverdata; @@ -181,7 +183,9 @@ PS3_VideoInit(_THIS) memset(data->frame_buffer, 0x00, fb_finfo.smem_len); PS3_InitModes(_this); - SDL_AddRenderDriver(0, &SDL_PS3_RenderDriver); + for (i = 0; i < _this->num_displays; ++i) { + SDL_AddRenderDriver(&_this->displays[i], &SDL_PS3_RenderDriver); + } /* We're done! */ return 0; diff --git a/src/video/win32/SDL_ceddrawrender.c b/src/video/win32/SDL_ceddrawrender.c index 29db3ccb6..424a313ee 100644 --- a/src/video/win32/SDL_ceddrawrender.c +++ b/src/video/win32/SDL_ceddrawrender.c @@ -428,7 +428,9 @@ DDRAW_AddRenderDriver(_THIS) info->texture_formats[info->num_texture_formats++] = SDL_PIXELFORMAT_YVYU; - SDL_AddRenderDriver(0, &DDRAW_RenderDriver); + for (i = 0; i < _this->num_displays; ++i) + SDL_AddRenderDriver(&_this->displays[i], &DDRAW_RenderDriver); + } } } diff --git a/src/video/win32/SDL_d3drender.c b/src/video/win32/SDL_d3drender.c index 5d2bb6032..c36dd3c27 100644 --- a/src/video/win32/SDL_d3drender.c +++ b/src/video/win32/SDL_d3drender.c @@ -327,7 +327,9 @@ D3D_AddRenderDriver(_THIS) info->texture_formats[info->num_texture_formats++] = SDL_PIXELFORMAT_YVYU; - SDL_AddRenderDriver(0, &D3D_RenderDriver); + for (i = 0; i < _this->num_displays; ++i) { + SDL_AddRenderDriver(&_this->displays[i], &D3D_RenderDriver); + } } } diff --git a/src/video/win32/SDL_gapirender.c b/src/video/win32/SDL_gapirender.c index 30908d034..793060f67 100644 --- a/src/video/win32/SDL_gapirender.c +++ b/src/video/win32/SDL_gapirender.c @@ -92,6 +92,8 @@ GAPI_SetError(const char *prefix, HRESULT result) void GAPI_AddRenderDriver(_THIS) { + int i; + /* TODO: should we check for support of GetRawFramebuffer here? */ #if USE_GAPI_EMU @@ -125,7 +127,9 @@ GAPI_AddRenderDriver(_THIS) #undef LINK } - SDL_AddRenderDriver(0, &GAPI_RenderDriver); + for (i = 0; i < _this->num_displays; ++i) { + SDL_AddRenderDriver(&_this->displays[i], &GAPI_RenderDriver); + } } typedef enum diff --git a/src/video/win32/SDL_gdirender.c b/src/video/win32/SDL_gdirender.c index 51cb88fef..d6f16dba5 100644 --- a/src/video/win32/SDL_gdirender.c +++ b/src/video/win32/SDL_gdirender.c @@ -147,7 +147,10 @@ UpdateYUVTextureData(SDL_Texture * texture) void GDI_AddRenderDriver(_THIS) { - SDL_AddRenderDriver(0, &GDI_RenderDriver); + int i; + for (i = 0; i < _this->num_displays; ++i) { + SDL_AddRenderDriver(&_this->displays[i], &GDI_RenderDriver); + } } SDL_Renderer * diff --git a/src/video/x11/SDL_x11render.c b/src/video/x11/SDL_x11render.c index 39145bc15..fe8446b94 100644 --- a/src/video/x11/SDL_x11render.c +++ b/src/video/x11/SDL_x11render.c @@ -144,6 +144,7 @@ X11_AddRenderDriver(_THIS) SDL_VideoData *data = (SDL_VideoData *) _this->driverdata; SDL_RendererInfo *info = &X11_RenderDriver.info; SDL_DisplayMode *mode = &SDL_CurrentDisplay.desktop_mode; + int i; info->texture_formats[info->num_texture_formats++] = mode->format; info->texture_formats[info->num_texture_formats++] = SDL_PIXELFORMAT_YV12; @@ -152,7 +153,9 @@ X11_AddRenderDriver(_THIS) info->texture_formats[info->num_texture_formats++] = SDL_PIXELFORMAT_UYVY; info->texture_formats[info->num_texture_formats++] = SDL_PIXELFORMAT_YVYU; - SDL_AddRenderDriver(0, &X11_RenderDriver); + for (i = 0; i < _this->num_displays; ++i) { + SDL_AddRenderDriver(&_this->displays[i], &X11_RenderDriver); + } } SDL_Renderer *