Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions src/video/windows/SDL_windowsopengl.c
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,9 @@ void WIN_GL_InitExtensions(SDL_VideoDevice *_this)
}

// Check for WGL_EXT_create_context_es2_profile
if (HasExtension("WGL_EXT_create_context_es2_profile", extensions)) {
// see if we can get at OpenGL ES profiles even if EGL isn't available.
_this->gl_data->HAS_WGL_EXT_create_context_es2_profile = HasExtension("WGL_EXT_create_context_es2_profile", extensions);
if (_this->gl_data->HAS_WGL_EXT_create_context_es2_profile) {
SDL_GL_DeduceMaxSupportedESProfile(
&_this->gl_data->es_profile_max_supported_version.major,
&_this->gl_data->es_profile_max_supported_version.minor);
Expand Down Expand Up @@ -704,7 +706,9 @@ bool WIN_GL_UseEGL(SDL_VideoDevice *_this)
SDL_assert(_this->gl_data != NULL);
SDL_assert(_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES);

return SDL_GetHintBoolean(SDL_HINT_OPENGL_ES_DRIVER, false) || _this->gl_config.major_version == 1 || _this->gl_config.major_version > _this->gl_data->es_profile_max_supported_version.major || (_this->gl_config.major_version == _this->gl_data->es_profile_max_supported_version.major && _this->gl_config.minor_version > _this->gl_data->es_profile_max_supported_version.minor); // No WGL extension for OpenGL ES 1.x profiles.
// (we don't need EGL to do OpenGL ES if HAS_WGL_EXT_create_context_es2_profile exists.)

return !_this->gl_data->HAS_WGL_EXT_create_context_es2_profile || SDL_GetHintBoolean(SDL_HINT_OPENGL_ES_DRIVER, false) || _this->gl_config.major_version == 1 || _this->gl_config.major_version > _this->gl_data->es_profile_max_supported_version.major || (_this->gl_config.major_version == _this->gl_data->es_profile_max_supported_version.major && _this->gl_config.minor_version > _this->gl_data->es_profile_max_supported_version.minor); // No WGL extension for OpenGL ES 1.x profiles.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you split this out into multiple lines for sanity?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The actual problematic check is still in here also _this->gl_config.major_version == 1 || (without removing this gles1 profiles are still not able to be created)

}

SDL_GLContext WIN_GL_CreateContext(SDL_VideoDevice *_this, SDL_Window *window)
Expand Down
1 change: 1 addition & 0 deletions src/video/windows/SDL_windowsopengl.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ struct SDL_GLDriverData
bool HAS_WGL_ARB_create_context_robustness;
bool HAS_WGL_ARB_create_context_no_error;
bool HAS_WGL_ARB_pixel_format_float;
bool HAS_WGL_EXT_create_context_es2_profile;

/* Max version of OpenGL ES context that can be created if the
implementation supports WGL_EXT_create_context_es2_profile.
Expand Down
Loading