|
@@ -51,10 +51,14 @@
|
|
|
#include <SDL3/SDL_opengles2.h>
|
|
|
#endif // SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL
|
|
|
|
|
|
-#ifndef SDL_VIDEO_OPENGL
|
|
|
-#ifndef GL_CONTEXT_RELEASE_BEHAVIOR_KHR
|
|
|
-#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x82FB
|
|
|
+// GL_CONTEXT_RELEASE_BEHAVIOR and GL_CONTEXT_RELEASE_BEHAVIOR_KHR have the same number.
|
|
|
+#ifndef GL_CONTEXT_RELEASE_BEHAVIOR
|
|
|
+#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB
|
|
|
#endif
|
|
|
+
|
|
|
+// GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH and GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR have the same number.
|
|
|
+#ifndef GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH
|
|
|
+#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC
|
|
|
#endif
|
|
|
|
|
|
#ifdef SDL_PLATFORM_EMSCRIPTEN
|
|
@@ -4820,11 +4824,7 @@ bool SDL_GL_GetAttribute(SDL_GLAttr attr, int *value)
|
|
|
attrib = GL_SAMPLES;
|
|
|
break;
|
|
|
case SDL_GL_CONTEXT_RELEASE_BEHAVIOR:
|
|
|
-#ifdef SDL_VIDEO_OPENGL
|
|
|
attrib = GL_CONTEXT_RELEASE_BEHAVIOR;
|
|
|
-#else
|
|
|
- attrib = GL_CONTEXT_RELEASE_BEHAVIOR_KHR;
|
|
|
-#endif
|
|
|
break;
|
|
|
case SDL_GL_BUFFER_SIZE:
|
|
|
{
|
|
@@ -4969,6 +4969,12 @@ bool SDL_GL_GetAttribute(SDL_GLAttr attr, int *value)
|
|
|
}
|
|
|
return SDL_SetError("OpenGL error: %08X", error);
|
|
|
}
|
|
|
+
|
|
|
+ // convert GL_CONTEXT_RELEASE_BEHAVIOR values back to SDL_GL_CONTEXT_RELEASE_BEHAVIOR values
|
|
|
+ if (attr == SDL_GL_CONTEXT_RELEASE_BEHAVIOR) {
|
|
|
+ *value = (*value == GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH) ? SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH : SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE;
|
|
|
+ }
|
|
|
+
|
|
|
return true;
|
|
|
#else
|
|
|
return SDL_Unsupported();
|