mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 08:44:19 -04:00
parent
7f0ac22ca5
commit
53612512d5
@ -597,8 +597,31 @@ reset() {
|
|||||||
query_glsl_version();
|
query_glsl_version();
|
||||||
|
|
||||||
#ifndef OPENGLES
|
#ifndef OPENGLES
|
||||||
bool core_profile = is_at_least_gl_version(3, 2) &&
|
// Determine whether this OpenGL context has compatibility features.
|
||||||
!has_extension("GL_ARB_compatibility");
|
bool core_profile = false;
|
||||||
|
|
||||||
|
if (_gl_version_major >= 3) {
|
||||||
|
if (_gl_version_major > 3 || _gl_version_minor >= 2) {
|
||||||
|
// OpenGL 3.2 has a built-in way to check this.
|
||||||
|
GLint profile_mask = 0;
|
||||||
|
glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &profile_mask);
|
||||||
|
|
||||||
|
if (profile_mask & GL_CONTEXT_CORE_PROFILE_BIT) {
|
||||||
|
core_profile = true;
|
||||||
|
} else if (profile_mask & GL_CONTEXT_COMPATIBILITY_PROFILE_BIT) {
|
||||||
|
core_profile = false;
|
||||||
|
} else {
|
||||||
|
core_profile = !has_extension("GL_ARB_compatibility");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// OpenGL 3.0/3.1.
|
||||||
|
GLint flags = 0;
|
||||||
|
glGetIntegerv(GL_CONTEXT_FLAGS, &flags);
|
||||||
|
if (flags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT) {
|
||||||
|
core_profile = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (GLCAT.is_debug()) {
|
if (GLCAT.is_debug()) {
|
||||||
if (core_profile) {
|
if (core_profile) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user