Commit Graph

103 Commits

Author SHA1 Message Date
Camilla Löwy
62074f3dea Update glad2 and switch to header-only version
This updates to a newer version of glad2 and switches to the header-only
variant.

This also (finally) switches to the newer glad2 loader signature that
allows us to pass in glfwGetInstanceProcAddress directly.
2021-08-26 16:03:40 +02:00
Camilla Löwy
22b586b3d8 Add pluggable heap allocator
This adds the glfwInitAllocator function for specifying a custom memory
allocator to use instead of the C runtime library.

The allocator is a struct of type GLFWallocator with fields
corresponding to malloc, realloc and free, while the internal API
corresponds to calloc, realloc and free.

Heap allocation calls are filtered before reaching the user-provided
functions, so deallocation of NULL and allocations of zero bytes are not
passed on, reallocating NULL is transformed into an allocation and
reallocating to size zero is transformed into deallocation.

The clearing of a new block to zero is performed by the internal
calloc-like function.

Closes #544.
Fixes #1628.
Closes #1947.
2021-08-25 21:00:10 +02:00
Camilla Löwy
061a0263a9 Win32: Fix compilation with standalone LLVM
The /clang: suffix passed to Clang-CL was accidentally also passed to
the regular standalone Clang, which caused compilation to fail.  We now
pass /W3 to Clang-CL, which it interprets as -Wall.

The _CRT_SECURE_NO_WARNINGS macro is now defined for both Clang and
Clang-CL.

The /entry: flag passed to link.exe is now also passed to lld-link,
letting the windows subsystem tests and examples link.

Fixes #1807.
Closes #1824.
Closes #1874.
2021-04-22 22:37:37 +02:00
Camilla Löwy
5c92cd9f52 Make windows test a tolerable example 2020-07-15 19:22:30 +02:00
Camilla Löwy
686e18fd72 Remove window opacity test
It has been superceded by the window property test.
2020-07-15 19:08:09 +02:00
Camilla Löwy
3207fc7120 Add window property test 2020-07-15 19:08:04 +02:00
Camilla Löwy
49c5d837b4 Replace CMake threads variable with modern target 2019-12-15 18:37:56 +01:00
Camilla Löwy
59055d585f Update minimum required CMake version to 3.1 2019-12-09 23:48:26 +01:00
Camilla Löwy
8a1f4940fc Remove reference to non-existent CMake variable 2019-12-09 23:48:26 +01:00
Camilla Löwy
c016b26852 Remove non-GUI binaries from GUI-only setup 2019-12-09 23:48:26 +01:00
Camilla Löwy
2fb336268f Shorten name of Info.plist template file
Our template file is not simply a copy of the file included in CMake and
so should not be named as if it was.
2019-12-09 23:35:50 +01:00
Camilla Löwy
ce9d124243 Remove command-line options from GUI-only test 2019-12-09 23:35:50 +01:00
Camilla Löwy
d74c18117d Remove dependency on platform header paths
The tests and examples should not need these paths.
2019-12-09 23:33:37 +01:00
Camilla Löwy
92c70b2a83 Rename CMake variable for GUI-only programs
Hopefully this is less ambiguous.
2019-12-09 23:33:37 +01:00
Camilla Löwy
953a1c3f8b Cleanup 2019-11-11 22:37:18 +01:00
Guillaume Racicot
bc5523e994 Set C standard at 99 for all test targets
Related to #1593.
2019-11-11 22:37:18 +01:00
Camilla Löwy
d834f01ca4 Rename legacy Vulkan triangle program
Fixes #1477.
2019-05-24 17:28:32 +02:00
Camilla Löwy
a255e7ace6 Move to the modern CMake project version option
This replaces the manual ad-hoc version variables we have used since
CMake 2.x (and GLFW 2.x lite).
2019-05-17 16:12:52 +02:00
Camilla Löwy
224e9205e0 Remove command-line options from tearing test 2019-04-15 14:35:11 +02:00
Camilla Löwy
d7e30b1c74 Replace glad and the Vulkan SDK with glad2
This removes all dependencies from the GLFW test programs on the Vulkan
SDK.

It also removes support for linking the GLFW shared library (dynamic
library, DLL) against the Vulkan loader static library.
2019-04-15 02:45:48 +02:00
Camilla Löwy
9b0c16596c Add full screen option to tearing test 2019-01-17 00:12:11 +01:00
Camilla Löwy
ab3bfb4205 Cocoa: Update MoltenVK support for LunarG SDK
GLFW now checks for the libvulkan.1.dylib loader instead of what is now
the ICD.  This removes checking for libMoltenVK.dylib to avoid cryptic
errors.  This unfortunately also breaks compatibility with the
standalone MoltenVK SDK.

This also removes support for the static loader library as that is not
present in the LunarG SDK.

Related to #870.
2018-03-01 21:45:46 +01:00
Camilla Löwy
d81946a35b Add window mode toggling to tearing test 2017-12-06 18:01:33 +01:00
Camilla Löwy
11e47f08b1 Add glfwGetWindowOpacity and glfwSetWindowOpacity
This adds support for setting the opacity of the whole window, including
any decorations.

Fixes #1089.
2017-11-15 15:46:01 +01:00
Camilla Löwy
546c99a3a3 Made sharing an example 2017-11-10 02:58:18 +01:00
Andrey Zholos
b4ea2d32e6 Add input lag test
Closes #973.
2017-08-18 13:01:47 +02:00
Camilla Löwy
8e899ccc29 Cocoa: Add support for MoltenVK dynamic library
Tested with MoltenVK 0.18.0.

Related to #870.
2017-07-10 21:34:02 +02:00
Camilla Löwy
c873327fe3 Fix NOTFOUND paths being added as dependencies
Fixes #930.
2017-01-20 01:29:46 +01:00
Camilla Löwy
11376a2dd0 Cleanup 2016-12-03 20:06:24 +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
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
66ff4aae89 Convert joystick test to Nuklear 2016-09-27 02:13:55 +02:00
Camilla Berglund
450d0d69af Convert gamma test to Nuklear 2016-09-27 02:13:42 +02:00
Camilla Berglund
9017eaee08 Add debug extension support to sharing test 2016-09-22 01:43:26 +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
Camilla Berglund
cdea4209fc Add event wait timeout test 2016-03-16 13:35:43 +01:00
Orson Peters
d998e3eebe Add icon test program 2016-03-11 14:41:57 +01:00
Camilla Berglund
9f890bb6fa Add decoration option to multi-window test 2016-03-07 13:31:23 +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
Marcus Geelnard
075140aefe Add public header path to target interface
Closes #697.
2016-02-02 06:00:18 +01:00
Nicholas Vitovitch
453631773e Export transitive dependencies for static library 2016-02-02 06:00:18 +01:00
Zbigniew Mandziejewicz
8637612908 Add GLFW_DLL to target interface 2016-02-02 06:00:18 +01:00
Camilla Berglund
37c93ba031 Compiler flag cleanup 2015-12-15 22:37:23 +01:00
Camilla Berglund
0ebe8ce4c5 Cleanup 2015-10-25 03:56:43 +01:00
Camilla Berglund
1b1ef31228 Make tests and examples use glad 2015-10-14 12:38:18 +02:00
Camilla Berglund
33c7c28dde Replaced the various cursor tests with a sane one. 2015-07-16 17:48:59 +02:00
Camilla Berglund
1ab9dbab60 Removed test replaced by glfwinfo. 2015-07-01 14:50:46 +02:00
Camilla Berglund
530fc5a431 Added full screen support to tearing test. 2015-05-27 16:14:15 +02:00
Camilla Berglund
a1641cdec9 Renamed MSAA test program. 2015-05-19 15:27:58 +02:00
Camilla Berglund
80a38c1e45 Updated Info.plist template file. 2015-05-13 15:59:09 +02:00