EGL: Add glfwGetEGLConfig

This commit is contained in:
knokko 2022-02-02 21:04:35 +01:00
parent f6bd029869
commit d9f723fbbf
4 changed files with 38 additions and 0 deletions

View File

@ -303,6 +303,7 @@ information on what to include when reporting a bug.
- [EGL] Added ANGLE backend selection via `EGL_ANGLE_platform_angle` extension
(#1380)
- [EGL] Bugfix: The `GLFW_DOUBLEBUFFER` context attribute was ignored (#1843)
- [EGL] Made it possible to query the `EGLConfig` that was chosen to create a given window via `glfwGetEGLConfig`
- [GLX] Made it possible to query the `GLXFBConfig` that was chosen to create a given window via `glfwGetGLXFBConfig`

View File

@ -77,6 +77,12 @@ GLFW now provides the [glfwGetGLXFBConfig](@ref glfwGetGLXFBConfig)
function that returns the GLXFBConfig that was chosen to create the
given window handle.
@subsubsection features_34_egl_getconfig Query EGLConfig
GLFW now provides the [glfwGetEGLConfig](@ref glfwGetEGLConfig)
function that returns the EGLConfig that was chosen to create the
given window handle.
@subsection caveats_34 Caveats for version 3.4
@subsection caveats Caveats for version 3.4
@ -185,6 +191,7 @@ then GLFW will fail to initialize.
@subsubsection functions_34 New functions in version 3.4
- @ref glfwGetGLXFBConfig
- @ref glfwGetEGLConfig
- @ref glfwInitAllocator
- @ref glfwGetPlatform
- @ref glfwPlatformSupported

View File

@ -532,6 +532,23 @@ GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window);
* @ingroup native
*/
GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window);
/*! @brief Returns the `EGLConfig` of the specified window.
*
* @return The `EGLConfig` of the specified window, or `EGL_NO_SURFACE` if an
* [error](@ref error_handling) occurred.
*
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
* GLFW_NOT_INITIALIZED.
*
* @thread_safety This function may be called from any thread. Access is not
* synchronized.
*
* @since Added in version 3.0.
*
* @ingroup native
*/
GLFWAPI EGLConfig glfwGetEGLConfig(GLFWwindow* window);
#endif
#if defined(GLFW_EXPOSE_NATIVE_OSMESA)

View File

@ -866,3 +866,16 @@ GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* handle)
return window->context.egl.surface;
}
GLFWAPI EGLConfig glfwGetEGLConfig(GLFWwindow* handle)
{
_GLFWwindow* window = (_GLFWwindow*) handle;
_GLFW_REQUIRE_INIT_OR_RETURN(EGL_NO_SURFACE);
if (window->context.source != GLFW_EGL_CONTEXT_API)
{
_glfwInputError(GLFW_NO_WINDOW_CONTEXT, NULL);
return EGL_NO_SURFACE;
}
return window->context.egl.config;
}