Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Rolling back changes to revision 4071 ... made some mistakes, will tr…
…y merging work again.
  • Loading branch information
Holmes Futrell committed Sep 2, 2008
1 parent 4cb93e7 commit d73175a
Showing 1 changed file with 25 additions and 73 deletions.
98 changes: 25 additions & 73 deletions src/video/SDL_video.c
Expand Up @@ -27,19 +27,11 @@
#include "SDL_sysvideo.h"
#include "SDL_blit.h"
#include "SDL_pixels_c.h"


#include "SDL_renderer_gl.h"
#include "SDL_renderer_gles.h"

#include "SDL_renderer_sw.h"
#include "../events/SDL_sysevents.h"
#include "../events/SDL_events_c.h"

#if SDL_VIDEO_OPENGL_ES
#include "SDL_opengles.h"
#endif /* SDL_VIDEO_OPENGL_ES */

#if SDL_VIDEO_OPENGL
#include "SDL_opengl.h"

Expand Down Expand Up @@ -111,8 +103,8 @@ static VideoBootStrap *bootstrap[] = {
#if SDL_VIDEO_DRIVER_OS2FS
&OS2FSLib_bootstrap,
#endif
#if SDL_VIDEO_DRIVER_UIKIT
&UIKIT_bootstrap,
#if SDL_VIDEO_DRIVER_NDS
&NDS_bootstrap,
#endif
#if SDL_VIDEO_DRIVER_DUMMY
&DUMMY_bootstrap,
Expand Down Expand Up @@ -254,7 +246,6 @@ SDL_VideoInit(const char *driver_name, Uint32 flags)
_this->gl_config.stereo = 0;
_this->gl_config.multisamplebuffers = 0;
_this->gl_config.multisamplesamples = 0;
_this->gl_config.retained_backing = 1; /* most systems have retained backing on the color buffers */
_this->gl_config.accelerated = -1; /* not known, don't set */

/* Initialize the video subsystem */
Expand All @@ -275,10 +266,6 @@ SDL_VideoInit(const char *driver_name, Uint32 flags)
#if SDL_VIDEO_RENDER_OGL
SDL_AddRenderDriver(i, &GL_RenderDriver);
#endif

#if SDL_VIDEO_RENDER_OGL_ES
SDL_AddRenderDriver(i, &GL_ES_RenderDriver);
#endif
if (_this->displays[i].num_render_drivers > 0) {
SDL_AddRenderDriver(i, &SW_RenderDriver);
}
Expand Down Expand Up @@ -1426,9 +1413,7 @@ SDL_CreateRenderer(SDL_WindowID windowID, int index, Uint32 flags)

if (index < 0) {
const char *override = SDL_getenv("SDL_VIDEO_RENDERER");

int n = SDL_GetNumRenderDrivers();

int n = SDL_GetNumRenderDrivers();
for (index = 0; index < n; ++index) {
SDL_RenderDriver *driver =
&SDL_CurrentDisplay.render_drivers[index];
Expand Down Expand Up @@ -1461,7 +1446,6 @@ SDL_CreateRenderer(SDL_WindowID windowID, int index, Uint32 flags)
/* Create a new renderer instance */
window->renderer = SDL_CurrentDisplay.render_drivers[index]
.CreateRenderer(window, flags);

SDL_SelectRenderer(window->id);

return 0;
Expand Down Expand Up @@ -1565,7 +1549,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
}
fmt = surface->format;

if (format) { /* if we were passed in a format */
if (format) {
if (!SDL_PixelFormatEnumToMasks
(format, &bpp, &Rmask, &Gmask, &Bmask, &Amask)) {
SDL_SetError("Unknown pixel format");
Expand All @@ -1575,7 +1559,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
if (surface->format->Amask
|| !(surface->map->info.flags &
(SDL_COPY_COLORKEY | SDL_COPY_MASK | SDL_COPY_BLEND))) {
bpp = fmt->BitsPerPixel;
bpp = fmt->BitsPerPixel;
Rmask = fmt->Rmask;
Gmask = fmt->Gmask;
Bmask = fmt->Bmask;
Expand All @@ -1595,7 +1579,8 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
}
}

textureID = SDL_CreateTexture(format, SDL_TEXTUREACCESS_STATIC, surface->w,
textureID =
SDL_CreateTexture(format, SDL_TEXTUREACCESS_STATIC, surface->w,
surface->h);
if (!textureID) {
return 0;
Expand Down Expand Up @@ -1630,8 +1615,9 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
SDL_DitherColors(dst_fmt->palette->colors,
SDL_BITSPERPIXEL(format));
}
}
dst = SDL_ConvertSurface(surface, dst_fmt, 0);
}

dst = SDL_ConvertSurface(surface, dst_fmt, 0);
if (dst) {
SDL_UpdateTexture(textureID, NULL, dst->pixels, dst->pitch);
SDL_FreeSurface(dst);
Expand All @@ -1645,7 +1631,7 @@ SDL_CreateTextureFromSurface(Uint32 format, SDL_Surface * surface)
SDL_DestroyTexture(textureID);
return 0;
}
}
}

if (SDL_ISPIXELFORMAT_INDEXED(format) && fmt->palette) {
SDL_SetTexturePalette(textureID, fmt->palette->colors, 0,
Expand Down Expand Up @@ -2013,7 +1999,6 @@ SDL_DirtyTexture(SDL_TextureID textureID, int numrects,
int
SDL_RenderFill(Uint8 r, Uint8 g, Uint8 b, Uint8 a, const SDL_Rect * rect)
{

SDL_Renderer *renderer;
SDL_Window *window;
SDL_Rect real_rect;
Expand Down Expand Up @@ -2299,9 +2284,8 @@ SDL_GL_GetProcAddress(const char *proc)
SDL_bool
SDL_GL_ExtensionSupported(const char *extension)
{
#if SDL_VIDEO_OPENGL || SDL_VIDEO_OPENGL_ES

const GLubyte *(APIENTRY * glGetStringFunc) (GLenum);
#if SDL_VIDEO_OPENGL
const GLubyte *(APIENTRY * glGetStringFunc) (GLenum);
const char *extensions;
const char *start;
const char *where, *terminator;
Expand Down Expand Up @@ -2356,7 +2340,7 @@ SDL_GL_ExtensionSupported(const char *extension)
int
SDL_GL_SetAttribute(SDL_GLattr attr, int value)
{
#if SDL_VIDEO_OPENGL || SDL_VIDEO_OPENGL_ES
#if SDL_VIDEO_OPENGL
int retval;

if (!_this) {
Expand Down Expand Up @@ -2414,9 +2398,6 @@ SDL_GL_SetAttribute(SDL_GLattr attr, int value)
case SDL_GL_ACCELERATED_VISUAL:
_this->gl_config.accelerated = value;
break;
case SDL_GL_RETAINED_BACKING:
_this->gl_config.retained_backing = value;
break;
default:
SDL_SetError("Unknown OpenGL attribute");
retval = -1;
Expand All @@ -2432,7 +2413,7 @@ SDL_GL_SetAttribute(SDL_GLattr attr, int value)
int
SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
{
#if SDL_VIDEO_OPENGL || SDL_VIDEO_OPENGL_ES
#if SDL_VIDEO_OPENGL
void (APIENTRY * glGetIntegervFunc) (GLenum pname, GLint * params);
GLenum attrib = 0;

Expand All @@ -2441,9 +2422,6 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
return -1;
}
switch (attr) {
case SDL_GL_RETAINED_BACKING:
*value = _this->gl_config.retained_backing;
return 0;
case SDL_GL_RED_SIZE:
attrib = GL_RED_BITS;
break;
Expand All @@ -2457,22 +2435,14 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
attrib = GL_ALPHA_BITS;
break;
case SDL_GL_DOUBLEBUFFER:
#ifndef SDL_VIDEO_OPENGL_ES
attrib = GL_DOUBLEBUFFER;
break;
#else
/* I believe double buffering is the only option in OpenGL ES
-- in any case, GL_DOUBLEBUFFER doesn't exist */
*value = 1;
return 0;
#endif
case SDL_GL_DEPTH_SIZE:
attrib = GL_DEPTH_BITS;
break;
case SDL_GL_STENCIL_SIZE:
attrib = GL_STENCIL_BITS;
break;
#ifndef SDL_VIDEO_OPENGL_ES
case SDL_GL_ACCUM_RED_SIZE:
attrib = GL_ACCUM_RED_BITS;
break;
Expand All @@ -2485,33 +2455,15 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
case SDL_GL_ACCUM_ALPHA_SIZE:
attrib = GL_ACCUM_ALPHA_BITS;
break;
case SDL_GL_STEREO:
attrib = GL_STEREO;
break;
#else
case SDL_GL_ACCUM_RED_SIZE:
case SDL_GL_ACCUM_GREEN_SIZE:
case SDL_GL_ACCUM_BLUE_SIZE:
case SDL_GL_ACCUM_ALPHA_SIZE:
case SDL_GL_STEREO:
/* none of these are supported in OpenGL ES */
*value = 0;
return 0;
#endif
case SDL_GL_MULTISAMPLEBUFFERS:
#ifndef SDL_VIDEO_OPENGL_ES
attrib = GL_SAMPLE_BUFFERS_ARB;
#else
attrib = GL_SAMPLE_BUFFERS;
#endif
break;
case SDL_GL_MULTISAMPLESAMPLES:
#ifndef SDL_VIDEO_OPENGL_ES
attrib = GL_SAMPLES_ARB;
#else
attrib = GL_SAMPLES;
#endif
break;
case SDL_GL_STEREO:
attrib = GL_STEREO;
break;
case SDL_GL_MULTISAMPLEBUFFERS:
attrib = GL_SAMPLE_BUFFERS_ARB;
break;
case SDL_GL_MULTISAMPLESAMPLES:
attrib = GL_SAMPLES_ARB;
break;
case SDL_GL_BUFFER_SIZE:
{
GLint bits = 0;
Expand Down Expand Up @@ -2558,6 +2510,7 @@ SDL_GL_CreateContext(SDL_WindowID windowID)
return NULL;
}
if (!(window->flags & SDL_WINDOW_OPENGL)) {
SDL_SetError("The specified window isn't an OpenGL window");
return NULL;
}
return _this->GL_CreateContext(_this, window);
Expand Down Expand Up @@ -2616,7 +2569,6 @@ SDL_GL_SwapWindow(SDL_WindowID windowID)
SDL_Window *window = SDL_GetWindowFromID(windowID);

if (!window) {
SDL_SetError("The specified window doesn't exist");
return;
}
if (!(window->flags & SDL_WINDOW_OPENGL)) {
Expand Down

0 comments on commit d73175a

Please sign in to comment.