PFN_FunctionName is more readable than SCREAMSOUP_T.
Context creation API function typedefs are kept as-is where the original
header provided them, for compatibility and familiarity reasons.
This replaces CGDisplayIOServicePort with manually finding a service
port with matching vendor and product IDs. This may technically not be
the one corresponding to the display ID, but it is only used to retrieve
the human-readable make/model string.
This could be cleaned up and refined a bit by comparing more display
attributes when available, but it gets the job done.
Fixes#165.
Closes#192.
Closes#508.
Closes#511.
Fixes formatting, semantics and documentation. Adds
glfwGetOSMesaContext. Adds support for OSMesa context attributes.
Updates changelog and credits. Adds license and copyright headers.
Removes superfluous code (the shared code provides many conveniences).
Removes loading of unused OSMesa functions. Removes empty platform
structs. Fixes version string format. Removes build dependency on
the OSMesa header and library (only the library is needed and only at
runtime).
Closes#850.
glfwGetMonitorName()’s documentation says “this function returns a
human-readable name”, which “typically reflects the make and model of
the monitor”. We get these two strings in the geometry event, so we
only set the name at this point.
This adds basic support for MoltenVK, a Vulkan implementation on top of
Metal, on macOS 10.11 and later. It looks for MoltenVK in the process
via RTLD_DEFAULT symbol lookup if _GLFW_VULKAN_STATIC is disabled.
glfwCreateWindowSurface now creates and sets a CAMetalLayer for the
window content view, which is required for MoltenVK to function.
You must help CMake find MoltenVK for the Vulkan test to be built.
Fixes#870.
Error message is displayed during the startup because Cocoa view is set
as the first responder for window but this view isn't in this window
(actually it is not in any window at all).
Fixes#876.
Closes#883.
When disabling window aspect ratio, a system assert would trigger. The
correct way to disable window aspect ratio is to set a resize increment.
Closes#852.
If EGL_KHR_get_all_proc_addresses extension is supported, then don't try
to load a separate client library. Instead, just use eglGetProcAddress
to load everything.
This can also avoid problems with trying to use OpenGL functions from
libGL.so.1 (which is the GLX library) when an EGL context is current.
Closes#871.
Implements a few other missing functions. Cleaning up naming convention
as well.
Fix FindMir.cmake was not finding the correct mirclient.so when
you wanted something other then the system library.
Closes#839.
As noted in the documentation for NSDistributedNotificationCenter,
(under the Discussion heading) before an observer is deallocated a call
should be made to removeObserver: in order to ensure that the listener
is correctly removed from all observation pools.
Fixes#817.
Closes#826.
Cleanup of 8bdb105897.
Add build macro to configuration header and documentation. Add
corresponding CMake option. Add change log entry and credit. Add
loader static library to link dependencies and add detection to
FindVulkan.cmake.
This allows clients to link GLFW with a staticly-built loader library.
This is useful in hermetic build systems that build the Khronos loader
from source, rather than depending on the LunarG SDK binaries.
Closes#820.
Add separate strings for each client API to make it easier to grep.
Remove 'client' from fallback error messages as API-related error tokens
are used for non-client APIs as well.