mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
workaround for crash due to glcore not always using at least OpenGL 3.2
This commit is contained in:
parent
79cadc9eaf
commit
76438fa098
@ -1028,7 +1028,7 @@ static void *gl_core_init(const video_info_t *video,
|
||||
}
|
||||
|
||||
if (!string_is_empty(version))
|
||||
sscanf(version, "%d.%d", &gl->version_major, &gl->version_minor);
|
||||
sscanf(version, "%u.%u", &gl->version_major, &gl->version_minor);
|
||||
|
||||
{
|
||||
char device_str[128];
|
||||
|
@ -94,15 +94,39 @@ static uint32_t gl_core_get_cross_compiler_target_version()
|
||||
|
||||
#ifdef HAVE_OPENGLES3
|
||||
if (!version || sscanf(version, "OpenGL ES %u.%u", &major, &minor) != 2)
|
||||
return 300u;
|
||||
return 300;
|
||||
|
||||
if (major == 2 && minor == 0)
|
||||
return 100;
|
||||
#else
|
||||
if (!version || sscanf(version, "%u.%u", &major, &minor) != 2)
|
||||
return 150u;
|
||||
#endif
|
||||
if (major == 3u && minor == 2u)
|
||||
return 150u;
|
||||
return 150;
|
||||
|
||||
return 100u * major + 10u * minor;
|
||||
if (major == 3)
|
||||
{
|
||||
switch (minor)
|
||||
{
|
||||
case 2:
|
||||
return 150;
|
||||
case 1:
|
||||
return 140;
|
||||
case 0:
|
||||
return 130;
|
||||
}
|
||||
}
|
||||
else if (major == 2)
|
||||
{
|
||||
switch (minor)
|
||||
{
|
||||
case 1:
|
||||
return 120;
|
||||
case 0:
|
||||
return 110;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return 100 * major + 10 * minor;
|
||||
}
|
||||
|
||||
GLuint gl_core_cross_compile_program(
|
||||
@ -719,7 +743,7 @@ void Framebuffer::init()
|
||||
|
||||
levels = num_miplevels(size.width, size.height);
|
||||
if (max_levels < levels)
|
||||
levels = max_levels;
|
||||
levels = max_levels;
|
||||
if (levels == 0)
|
||||
levels = 1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user