Commit Graph

218 Commits

Author SHA1 Message Date
Camilla Löwy
67a55efa27 Add null joystick backend
This prepares the X11 backend to support other joystick APIs, for
example the FreeBSD libusb one.
2017-02-01 03:07:25 +01:00
Camilla Löwy
6eae8f22dc X11: Load Xxf86vm at run-time 2016-12-11 00:05:15 +01:00
Camilla Löwy
58ceab5f1e Add GLFW_COCOA_RETINA_FRAMEBUFFER
Look, a can of worms!  I wonder what's inside.

This adds the first platform specific window hint, transforming
a compile-time option to a run-time per-window one.
2016-12-08 16:56:05 +01:00
Camilla Löwy
cc9168bda1 Win32: Fix build on VC++ 2008
This is not official support for VC++ 2008.

Fixes #821.
2016-12-03 20:06:23 +01:00
Camilla Berglund
fef21361c5 OSMesa: Cleanup
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.
2016-11-09 01:36:21 +01:00
Jason Daly
368fa9475d Add headless OSMesa backend
Allows creation and drawing to in-memory OpenGL contexts.

This backend does not provide input.

Related to #850.
2016-11-09 01:23:43 +01:00
Camilla Berglund
e94d16667b Cocoa: Add basic support for Vulkan via MoltenVK
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.
2016-11-01 21:39:54 +01:00
Camilla Berglund
017162e3fd Cocoa: Stop searching for system frameworks 2016-11-01 21:34:26 +01:00
Camilla Berglund
53fafad915 Start 3.3 2016-08-18 23:55:49 +02:00
Camilla Berglund
7c3706763a Cleanup
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.
2016-08-05 01:00:08 +02:00
Alexandre Pretyman
d3775b973e Fix clobbering of CMAKE_MODULE_PATH
Closes #822.
2016-08-04 18:14:44 +02:00
Camilla Berglund
4bccb3dc9f Start 3.2.1 2016-06-15 01:35:05 +02:00
Camilla Berglund
d203ccbf5e Add workaround for missing headers in legacy MinGW 2016-06-02 14:21:56 +02:00
Camilla Berglund
c4c99727c5 Add dynamic loading of HIToolbox.framework
Fixes #717.
2016-05-23 15:21:56 +02:00
Camilla Berglund
ef80beab81 Add run-time context creation API selection
Fixes #145.
2016-05-04 17:00:07 +02:00
Camilla Berglund
0365f1ec82 Fix warning when building for X11 on Cygwin 2016-03-18 10:32:14 +01:00
Camilla Berglund
22a09a53e6 Centralize documentation generation logic 2016-02-26 11:38:36 +01:00
Jonas Ådahl
cb08dc574c wayland: Implement 'DISABLED' cursor mode
This implements support for the 'DISABLED' cursor mode, which
effectively means locking the pointer to the surface. The cursor is also
explicitly hidden.

This adds two new build dependencies: wayland-scanner and
wayland-protocols.

Closes #708.
2016-02-22 12:36:34 +01:00
Jonas Ådahl
c7f3bd0d22 wayland: Use modules from ECM for finding deps
We were using a copied FindWayland cmake script, but lets use the ones
from ECM (extra-cmake-modules) instead. This is more important in the
future when building extensions from wayland-protocols.
2016-02-22 12:34:51 +01:00
Camilla Berglund
bda18bc899 Remove XInput2 XI_Motion support
Sadly, this interferes with the Steam overlay.

Fixes #304.
2016-02-21 18:32:57 +01:00
Camilla Berglund
9b75bffc88 Add basic Vulkan support
Added GLFW_INCLUDE_VULKAN.  Added glfwVulkanSupported,
glfwGetRequiredInstanceExtensions, glfwGetInstanceProcAddress,
glfwGetPhysicalDevicePresentationSupport and glfwCreateWindowSurface.
Added port of LunarG SDK tri example.
2016-02-16 14:58:58 +01:00
Zbigniew Mandziejewicz
f22edf13dc Simplify file generation paths 2016-02-02 06:10:26 +01:00
Camilla Berglund
7f7ad39e15 CMake target installation fixes 2016-02-02 06:10:22 +01:00
Nicholas Vitovitch
453631773e Export transitive dependencies for static library 2016-02-02 06:00:18 +01:00
Nicholas Vitovitch
23d34747f4 Rename export targets file to glfw3Targets.cmake 2016-02-02 06:00:18 +01:00
Zbigniew Mandziejewicz
6466c9d406 Fix CMake file install paths
Fixes #460.
Fixes #483.
Fixes #606.
2016-02-02 05:56:52 +01:00
Camilla Berglund
d2d57c70e2 Fix pkg-config file generation regression
Fixes regression cased by 37c93ba031.

Fixes #664.
Closes #679.
2015-12-30 21:09:40 +01:00
Camilla Berglund
37c93ba031 Compiler flag cleanup 2015-12-15 22:37:23 +01:00
Camilla Berglund
9c315412e1 Add glfwGetKeyName
Fixes #464.
2015-11-09 14:46:09 +01:00
Camilla Berglund
42efd26698 Remove support for Universal Binaries 2015-10-18 19:34:33 +02:00
Camilla Berglund
074aafa814 Formatting 2015-10-14 13:43:07 +02:00
Camilla Berglund
22eca139fb Remove compile-time client library selection 2015-10-14 13:43:05 +02:00
Camilla Berglund
bf7cce25dc Replace external context and client API headers 2015-10-13 00:48:18 +02:00
Camilla Berglund
95a07f3340 Start 3.2 2015-10-12 21:59:49 +02:00
Camilla Berglund
7e13a4909e Make all EGL functions dynamically loaded 2015-08-25 02:24:42 +02:00
Camilla Berglund
6d5753c548 Added support for AMD PowerXpress override.
Generalized _GLFW_USE_OPTIMUS_HPG to _GLFW_USE_HYBRID_HPG to reflect the
change.

Fixes #520.
2015-05-29 13:15:32 +02:00
Camilla Berglund
3c52cb1790 Simplified glXGetProcAddress logic.
Removed compile-time selection of GLX entry point retrieval mechanism.
Made dlopen a required dependency.

This is a stopgap solution until we start requiring GLX 1.4.
2015-05-27 02:20:55 +02:00
Camilla Berglund
8309e0ecb0 Use DwmFlush when DWM is enabled.
Use DwmFlush instead of WGL_EXT_swap_control when desktop compositing is
enabled, to avoid the jitter of DWM and WGL vsync fighting.

Fixes #516.
2015-05-21 18:28:53 +02:00
Camilla Berglund
c9ae3f4efe Fixed build regression.
Fixes regression caused by 5f7f6319eb.
2015-05-14 17:00:03 +02:00
Camilla Berglund
155da0cd09 Unified librt and libm logic. 2015-05-14 16:15:50 +02:00
Camilla Berglund
b4f3adb6ee Removed no-op librt illogic. 2015-05-14 16:11:18 +02:00
Camilla Berglund
6b232bd8f6 Updated minimum required CMake version to 2.8.12.
All major package systems seem to have caught up.
2015-05-14 15:59:53 +02:00
Camilla Berglund
323d4a484d Simplified libdl logic. 2015-05-13 16:33:29 +02:00
Camilla Berglund
6af25fb423 MinGW flag logic cleanup. 2015-05-13 16:33:29 +02:00
Nicholas Vitovitch
35b6c72634 Simplifies CMake version checks. 2015-05-13 16:33:29 +02:00
Camilla Berglund
5f7f6319eb Made global setting of CMake module path explicit. 2015-05-13 16:14:01 +02:00
Camilla Berglund
5268914b3f Started 3.1.2. 2015-03-20 00:16:24 +01:00
Camilla Berglund
5f21e213df Made Xxf86vm optional at compile-time. 2015-02-16 15:40:41 +01:00
Camilla Berglund
f4c127f75a Made XInput2 optional at compile-time.
This is required for RHEL 5, CentOS 5 and Cygwin-X.

Fixes #314.
2015-02-16 15:40:39 +01:00
Camilla Berglund
ead8a1c333 Started 3.1.1. 2015-01-25 10:42:01 +01:00