Commit Graph

102 Commits

Author SHA1 Message Date
Doug Binks
58aad6c136 Fix for not being able to clear the user context 2025-02-10 18:36:01 +00:00
Doug Binks
587025f9cb Merge branch 'master' into multi-context-windows-merge-master 2024-10-09 18:03:07 +02:00
Camilla Löwy
68dcea0d7f Place assertions for handles after init check
This lets automated testing check that GLFW_NOT_INITIALIZED is emitted
for every public function.
2024-03-28 16:53:04 +01:00
Doug Binks
ece28b0f19 Merge branch 'master' into multi-context-windows-merge-master 2024-03-07 15:21:24 +00:00
Camilla Löwy
d24ee9953f Start 3.5 2024-02-29 15:42:28 +01:00
Doug Binks
6148990427 Merge branch 'master' into multi-context-windows-merge-master 2024-01-25 17:44:13 +00:00
Camilla Löwy
8e6c8d7eff Remove reminders to use C89 for some source files
This is part of removing support for VS versions older than VS 2013.
See #2465 for details and feedback.

Related to #2465
2024-01-15 20:17:18 +01:00
Camilla Löwy
fa0ea5c41f Fix potential violation of invariant
The shared function for reading back context attributes,
_glfwRefreshContextAttribs, did not check whether the newly created
context had been successfully made current.  This violated the invariant
that the context TLS slot always points to a valid window and that its
context is current whenever _glfw.platform.getProcAddress is called.

Related to #2327
2023-12-05 18:36:54 +01:00
Doug Binks
bbe6c4cfa1 Merge branch 'master' into multi-context-windows-merge-master 2022-12-20 18:00:47 +00:00
Camilla Löwy
6b57e08bb0 Check if context creation APIs match when sharing 2022-08-22 19:17:12 +02:00
Doug Binks
fc32eb48c5 Merge branch 'master' 2022-06-06 12:55:45 +01:00
Camilla Löwy
f843d53333 Fix glfwMakeContextCurrent using uninitialized TLS
Issue reported by danhambleton on the GLFW forum:
https://discourse.glfw.org/t/posix-thread-local-storage-tls-error-when-making-context-current/2034
2022-04-21 15:56:01 +02:00
Doug Binks
c97e3a657b Merge branch 'master' into multi-context-windows-merge-master 2022-03-31 16:49:50 +01:00
Camilla Löwy
7a55ca34b9
Merge branch 'master' into multi-context-windows 2021-09-02 19:31:33 +02:00
Camilla Löwy
fd79b02840 Move single/double-buffer filtering to backends
There is no need to enumerate framebuffer configs that will just be
filtered out later by the GLFW_DOUBLEBUFFER hard constraint.
2021-05-14 19:02:25 +02:00
Camilla Löwy
184377b493 Skip initial buffer swap when single-buffered
This skips the buffer swap after the initial glClear performed during
window creation, if the window is single-buffered.  This call confused
apitrace into thinking the window was double-buffered.

Fixes #1873.
2021-05-14 19:02:25 +02:00
Doug Binks
375fcdeadb Added GLFW_NO_API check to glfwCreateUserContext and error documentation. 2020-07-16 15:20:25 +01:00
Doug Binks
1cb8ab8dc6 Make user context non current when destroyed 2020-07-16 11:59:11 +01:00
Doug Binks
f2806aa9ab Added glfwGetCurrentUserContext 2020-07-15 13:19:33 +01:00
Doug Binks
6539d101f3 Added TLS for current user context and simplified code 2020-07-15 13:19:14 +01:00
Doug Binks
a1a1b77150 Added _GLFW_REQUIRE* to user context functions. 2020-07-15 11:19:18 +01:00
Doug Binks
4caca8b20c glfwMakeUserContextCurrent now calls glfwMakeContextCurrent(NULL) to ensure TLS set. 2020-07-15 11:18:58 +01:00
Doug Binks
5e94092263 Refactor user context implementation to use the standard GLFW platform / context approach 2020-07-13 18:06:48 +01:00
Doug Binks
a08bfd9891 User Contexts API with Win32 implementation. 2020-06-03 19:46:22 +01:00
Camilla Löwy
56aad76b16 Add C dialect reminders to each source file
Files built for Win32 must use C89 style declarations for compatibility
with VS 2010 and 2012, which are still supported by GLFW.
2019-05-24 14:43:49 +02:00
Camilla Löwy
a337c56848 Start 3.4 2019-04-16 23:08:39 +02:00
Camilla Löwy
2053f3ed22 Cleanup 2019-01-17 00:11:17 +01:00
Camilla Löwy
c29e4455bb Move more context logic out of glfwCreateWindow 2018-02-06 13:10:41 +01:00
Camilla Löwy
ae53cd29ef Improve context function error descriptions
Fixes #1193.
2018-01-30 19:28:37 +01:00
Camilla Löwy
bb3ab87a18 Remove unmaintained internal Doxygen docs
The useful bits have been transformed to function definition comments.
The style guide stub has been added to the regular docs build.
2018-01-17 11:25:32 +01:00
Camilla Löwy
1034b6e0db Move context management out of glfwCreateWindow
Related to #25.
2018-01-09 17:58:54 +01:00
Camilla Löwy
32e78aeb2e Add GLFW_TRANSPARENT attribute and documentation
This completes support for window framebuffer transparency on Windows,
macOS and X11.  Note that the hint/attribute may be renamed before
release to clarify its relationship to GLFW_OPACITY.

Fixes #197.
Closes #1079.
Related to #663.
Related to #715.
Related to #723.
Related to #1078.
2017-09-27 21:54:04 +02:00
Camilla Löwy
d5de48ab53 Report invalid constants in the appropriate base
If the expected constants are defined in hexadecimal in the header then
the error string should also use hexadecimal.

Idea by IntellectualKitty.

Related to #970.
2017-06-28 12:07:06 +02:00
Camilla Löwy
14a3fe0ac0 Make glfwGetError also provide description
Related to #970.
2017-06-08 16:08:36 +02:00
Camilla Löwy
aaf2800c9c Add internal TLS support
Related to #970.
2017-03-19 00:52:46 +01:00
Camilla Löwy
e9560ef021 Add GLFW_OSMESA_CONTEXT_API
This allows the creation of OpenGL contexts via OSMesa on existing
platforms.  It does not add a compile- or link-time dependency on
OSMesa.

Fixes #281.
2017-02-28 20:38:10 +01:00
Camilla Löwy
2ba461e348 Formatting 2017-02-23 17:46:59 +01:00
Camilla Löwy
f4d0c83181 Paperwork done 2016-11-30 14:00:41 +01:00
Camilla Berglund
53fafad915 Start 3.3 2016-08-18 23:55:49 +02:00
Camilla Berglund
c844fea9df Improve client API error messages
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.
2016-08-01 20:49:22 +02:00
Camilla Berglund
52d801bd19 Cleanup 2016-07-19 00:15:34 +02:00
Camilla Berglund
ac09592355 Call context GetProcAddress directly 2016-07-18 23:31:54 +02:00
Camilla Berglund
757eea2779 Update email address 2016-06-01 21:25:20 +02:00
Camilla Berglund
6a8e169001 Update copyright notice year 2016-06-01 21:25:19 +02:00
Camilla Berglund
bda031f4ac Cleanup 2016-05-29 15:34:08 +02:00
Camilla Berglund
ef80beab81 Add run-time context creation API selection
Fixes #145.
2016-05-04 17:00:07 +02:00
Camilla Berglund
29e232f4b2 Improved error messages 2016-03-29 11:13:06 +02:00
Camilla Berglund
5eb2e83c82 Cleanup 2016-03-28 12:26:08 +02:00
Camilla Berglund
de2d4c7763 Clarify pointer assertions 2016-03-02 17:58:05 +01:00
Camilla Berglund
0ebdad53e8 Add asserts for public API pointer parameters 2016-01-31 17:56:36 +01:00