Error codes
Overview
See error handling for how these are used.
// macros #define GLFW_API_UNAVAILABLE #define GLFW_FORMAT_UNAVAILABLE #define GLFW_INVALID_ENUM #define GLFW_INVALID_VALUE #define GLFW_NOT_INITIALIZED #define GLFW_NO_CURRENT_CONTEXT #define GLFW_NO_WINDOW_CONTEXT #define GLFW_OUT_OF_MEMORY #define GLFW_PLATFORM_ERROR #define GLFW_VERSION_UNAVAILABLE
Macros
#define GLFW_API_UNAVAILABLE
GLFW could not find support for the requested API on the system.
GLFW could not find support for the requested API on the system.
@analysis The installed graphics driver does not support the requested API, or does not support it via the chosen context creation backend. Below are a few examples.
Some pre-installed Windows graphics drivers do not support OpenGL. AMD only supports OpenGL ES via EGL, while Nvidia and Intel only support it via a WGL or GLX extension. OS X does not provide OpenGL ES at all. The Mesa EGL, OpenGL and OpenGL ES libraries do not interface with the Nvidia binary driver. Older graphics drivers do not support Vulkan.
#define GLFW_FORMAT_UNAVAILABLE
The requested format is not supported or available.
If emitted during window creation, the requested pixel format is not supported.
If emitted when querying the clipboard, the contents of the clipboard could not be converted to the requested format.
@analysis If emitted during window creation, one or more hard constraints did not match any of the available pixel formats. If your application is sufficiently flexible, downgrade your requirements and try again. Otherwise, inform the user that their machine does not match your requirements.
If emitted when querying the clipboard, ignore the error or report it to the user, as appropriate.
#define GLFW_INVALID_ENUM
One of the arguments to the function was an invalid enum value.
One of the arguments to the function was an invalid enum value, for example requesting GLFW_RED_BITS with glfwGetWindowAttrib.
@analysis Application programmer error. Fix the offending call.
#define GLFW_INVALID_VALUE
One of the arguments to the function was an invalid value.
One of the arguments to the function was an invalid value, for example requesting a non-existent OpenGL or OpenGL ES version like 2.7.
Requesting a valid but unavailable OpenGL or OpenGL ES version will instead result in a GLFW_VERSION_UNAVAILABLE error.
@analysis Application programmer error. Fix the offending call.
#define GLFW_NOT_INITIALIZED
GLFW has not been initialized.
This occurs if a GLFW function was called that must not be called unless the library is initialized.
@analysis Application programmer error. Initialize GLFW before calling any function that requires initialization.
#define GLFW_NO_CURRENT_CONTEXT
No context is current for this thread.
This occurs if a GLFW function was called that needs and operates on the current OpenGL or OpenGL ES context but no context is current on the calling thread. One such function is glfwSwapInterval.
@analysis Application programmer error. Ensure a context is current before calling functions that require a current context.
#define GLFW_NO_WINDOW_CONTEXT
The specified window does not have an OpenGL or OpenGL ES context.
A window that does not have an OpenGL or OpenGL ES context was passed to a function that requires it to have one.
@analysis Application programmer error. Fix the offending call.
#define GLFW_OUT_OF_MEMORY
A memory allocation failed.
A memory allocation failed.
@analysis A bug in GLFW or the underlying operating system. Report the bug to our issue tracker.
#define GLFW_PLATFORM_ERROR
A platform-specific error occurred that does not match any of the more specific categories.
A platform-specific error occurred that does not match any of the more specific categories.
@analysis A bug or configuration error in GLFW, the underlying operating system or its drivers, or a lack of required resources. Report the issue to our issue tracker.
#define GLFW_VERSION_UNAVAILABLE
The requested OpenGL or OpenGL ES version is not available.
The requested OpenGL or OpenGL ES version (including any requested context or framebuffer hints) is not available on this machine.
@analysis The machine does not support your requirements. If your application is sufficiently flexible, downgrade your requirements and try again. Otherwise, inform the user that their machine does not match your requirements.
Future invalid OpenGL and OpenGL ES versions, for example OpenGL 4.8 if 5.0 comes out before the 4.x series gets that far, also fail with this error and not GLFW_INVALID_VALUE, because GLFW cannot know what future versions will exist.