mirror of https://github.com/encounter/SDL.git
Add SDL_GL_ResetAttributes.
This commit is contained in:
parent
d76c2cc1da
commit
338bf9cc6c
|
@ -865,6 +865,11 @@ extern DECLSPEC void SDLCALL SDL_GL_UnloadLibrary(void);
|
||||||
extern DECLSPEC SDL_bool SDLCALL SDL_GL_ExtensionSupported(const char
|
extern DECLSPEC SDL_bool SDLCALL SDL_GL_ExtensionSupported(const char
|
||||||
*extension);
|
*extension);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Reset all previously set OpenGL context attributes to their default values
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set an OpenGL window attribute before window creation.
|
* \brief Set an OpenGL window attribute before window creation.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -570,3 +570,4 @@
|
||||||
#define SDL_GL_DeleteContext SDL_GL_DeleteContext_REAL
|
#define SDL_GL_DeleteContext SDL_GL_DeleteContext_REAL
|
||||||
#define SDL_vsscanf SDL_vsscanf_REAL
|
#define SDL_vsscanf SDL_vsscanf_REAL
|
||||||
#define SDL_GameControllerAddMappingsFromRW SDL_GameControllerAddMappingsFromRW_REAL
|
#define SDL_GameControllerAddMappingsFromRW SDL_GameControllerAddMappingsFromRW_REAL
|
||||||
|
#define SDL_GL_ResetAttributes SDL_GL_ResetAttributes_REAL
|
||||||
|
|
|
@ -599,3 +599,4 @@ SDL_DYNAPI_PROC(void,SDL_GL_SwapWindow,(SDL_Window *a),(a),)
|
||||||
SDL_DYNAPI_PROC(void,SDL_GL_DeleteContext,(SDL_GLContext a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_GL_DeleteContext,(SDL_GLContext a),(a),)
|
||||||
SDL_DYNAPI_PROC(int,SDL_vsscanf,(const char *a, const char *b, va_list c),(a,b,c),return)
|
SDL_DYNAPI_PROC(int,SDL_vsscanf,(const char *a, const char *b, va_list c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(int,SDL_GameControllerAddMappingsFromRW,(SDL_RWops *a, int b),(a,b),return)
|
SDL_DYNAPI_PROC(int,SDL_GameControllerAddMappingsFromRW,(SDL_RWops *a, int b),(a,b),return)
|
||||||
|
SDL_DYNAPI_PROC(void,SDL_GL_ResetAttributes,(void),(),)
|
||||||
|
|
|
@ -477,39 +477,7 @@ SDL_VideoInit(const char *driver_name)
|
||||||
/* Set some very sane GL defaults */
|
/* Set some very sane GL defaults */
|
||||||
_this->gl_config.driver_loaded = 0;
|
_this->gl_config.driver_loaded = 0;
|
||||||
_this->gl_config.dll_handle = NULL;
|
_this->gl_config.dll_handle = NULL;
|
||||||
_this->gl_config.red_size = 3;
|
SDL_GL_ResetAttributes();
|
||||||
_this->gl_config.green_size = 3;
|
|
||||||
_this->gl_config.blue_size = 2;
|
|
||||||
_this->gl_config.alpha_size = 0;
|
|
||||||
_this->gl_config.buffer_size = 0;
|
|
||||||
_this->gl_config.depth_size = 16;
|
|
||||||
_this->gl_config.stencil_size = 0;
|
|
||||||
_this->gl_config.double_buffer = 1;
|
|
||||||
_this->gl_config.accum_red_size = 0;
|
|
||||||
_this->gl_config.accum_green_size = 0;
|
|
||||||
_this->gl_config.accum_blue_size = 0;
|
|
||||||
_this->gl_config.accum_alpha_size = 0;
|
|
||||||
_this->gl_config.stereo = 0;
|
|
||||||
_this->gl_config.multisamplebuffers = 0;
|
|
||||||
_this->gl_config.multisamplesamples = 0;
|
|
||||||
_this->gl_config.retained_backing = 1;
|
|
||||||
_this->gl_config.accelerated = -1; /* accelerated or not, both are fine */
|
|
||||||
_this->gl_config.profile_mask = 0;
|
|
||||||
#if SDL_VIDEO_OPENGL
|
|
||||||
_this->gl_config.major_version = 2;
|
|
||||||
_this->gl_config.minor_version = 1;
|
|
||||||
#elif SDL_VIDEO_OPENGL_ES2
|
|
||||||
_this->gl_config.major_version = 2;
|
|
||||||
_this->gl_config.minor_version = 0;
|
|
||||||
_this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
|
|
||||||
#elif SDL_VIDEO_OPENGL_ES
|
|
||||||
_this->gl_config.major_version = 1;
|
|
||||||
_this->gl_config.minor_version = 1;
|
|
||||||
_this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
|
|
||||||
#endif
|
|
||||||
_this->gl_config.flags = 0;
|
|
||||||
|
|
||||||
_this->gl_config.share_with_current_context = 0;
|
|
||||||
|
|
||||||
_this->current_glwin_tls = SDL_TLSCreate();
|
_this->current_glwin_tls = SDL_TLSCreate();
|
||||||
_this->current_glctx_tls = SDL_TLSCreate();
|
_this->current_glctx_tls = SDL_TLSCreate();
|
||||||
|
@ -2547,6 +2515,49 @@ SDL_GL_ExtensionSupported(const char *extension)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SDL_GL_ResetAttributes()
|
||||||
|
{
|
||||||
|
if (!_this) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_this->gl_config.red_size = 3;
|
||||||
|
_this->gl_config.green_size = 3;
|
||||||
|
_this->gl_config.blue_size = 2;
|
||||||
|
_this->gl_config.alpha_size = 0;
|
||||||
|
_this->gl_config.buffer_size = 0;
|
||||||
|
_this->gl_config.depth_size = 16;
|
||||||
|
_this->gl_config.stencil_size = 0;
|
||||||
|
_this->gl_config.double_buffer = 1;
|
||||||
|
_this->gl_config.accum_red_size = 0;
|
||||||
|
_this->gl_config.accum_green_size = 0;
|
||||||
|
_this->gl_config.accum_blue_size = 0;
|
||||||
|
_this->gl_config.accum_alpha_size = 0;
|
||||||
|
_this->gl_config.stereo = 0;
|
||||||
|
_this->gl_config.multisamplebuffers = 0;
|
||||||
|
_this->gl_config.multisamplesamples = 0;
|
||||||
|
_this->gl_config.retained_backing = 1;
|
||||||
|
_this->gl_config.accelerated = -1; /* accelerated or not, both are fine */
|
||||||
|
_this->gl_config.profile_mask = 0;
|
||||||
|
#if SDL_VIDEO_OPENGL
|
||||||
|
_this->gl_config.major_version = 2;
|
||||||
|
_this->gl_config.minor_version = 1;
|
||||||
|
#elif SDL_VIDEO_OPENGL_ES2
|
||||||
|
_this->gl_config.major_version = 2;
|
||||||
|
_this->gl_config.minor_version = 0;
|
||||||
|
_this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
|
||||||
|
#elif SDL_VIDEO_OPENGL_ES
|
||||||
|
_this->gl_config.major_version = 1;
|
||||||
|
_this->gl_config.minor_version = 1;
|
||||||
|
_this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
|
||||||
|
#endif
|
||||||
|
_this->gl_config.flags = 0;
|
||||||
|
_this->gl_config.framebuffer_srgb_capable = 0;
|
||||||
|
|
||||||
|
_this->gl_config.share_with_current_context = 0;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
SDL_GL_SetAttribute(SDL_GLattr attr, int value)
|
SDL_GL_SetAttribute(SDL_GLattr attr, int value)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue