Stephen Gutekanst
78decaf6af
CI: correct sponsors README generation
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-07 12:45:15 -07:00
Stephen Gutekanst
f657d69852
CI: correct sponsors README generation
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-07 10:13:31 -07:00
slimsag
d0b8951c19
README: regenerate sponsors section
2021-11-07 16:43:09 +00:00
Stephen Gutekanst
20d91fd961
CI: correct sponsors README generation
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-07 09:42:39 -07:00
Stephen Gutekanst
fea135afba
README: add sponsors section as promised
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-07 09:19:01 -07:00
Stephen Gutekanst
9f906cfd94
glfw: fix linking difference between sysroot and non-sysroot ( #63 )
...
This effectively gives us the dependencies we need in any case, and works around ziglang/zig#10103
Importantly, this removes a blocker for landing WebGPU support in hexops/mach#62
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-05 12:20:24 -07:00
Stephen Gutekanst
9bc9984930
glfw: hot patch undefined behavior in GLFW that went unnoticed 6+ years
...
Upstream pull request: https://github.com/glfw/glfw/pull/1986
Article: https://devlog.hexops.com/2021/perfecting-glfw-for-zig-and-finding-undefined-behavior
Fixes hexops/mach#20
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-31 11:50:09 -07:00
Stephen Gutekanst
93110e82ca
README: polish, add News section, etc
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-31 11:20:41 -07:00
Stephen Gutekanst
61e2b38250
glfw: add Vulkan example to README
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-31 01:14:46 -07:00
Stephen Gutekanst
6b9c28cec1
glfw: zig fmt
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-31 01:00:56 -07:00
Stephen Gutekanst
c16d6bf615
glfw: improve ABI compatability with zig-vulkan library
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-31 01:00:02 -07:00
Stephen Gutekanst
e0cf70f045
glfw: expose system SDK build options
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 21:47:48 -07:00
Stephen Gutekanst
7d3ea16de6
glfw: refactor system SDK inclusion into helper file
...
This refactors the logic for system SDK inclusion out of the GLFW-specific `build.zig`,
and should make it very easy for anyone to copy this file and start getting cross-platform
builds of their own OpenGL/Vulkan Zig projects.
There may be some libraries we need to add for Vulkan to these SDKs, I haven't yet tested
that - but the overall idea here seems sound.
Fixes hexops/mach#39
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 21:31:52 -07:00
Stephen Gutekanst
6b12b42f7c
glfw: update README, send pull requests to the main repo if possible
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 21:23:17 -07:00
Stephen Gutekanst
adeb906e33
glfw: improve README, add getting started, error handling, etc
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 21:23:17 -07:00
Stephen Gutekanst
7264741ede
glfw: make init hints a proper enum
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
f1644d2e59
glfw: make monitor/joystick events a proper enum
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
bec6f7a85b
glfw: add [set|get]InputModeRawMouseMotion variants
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
9d642c199f
glfw: add [set|get]InputModeLockKeyMods variants
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
02240a7f92
glfw: add [set|get]InputModeStickyMouseButtons variants
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
d222c44d8f
glfw: add setInputModeStickyKeys/getInputModeStickyKeys variants
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
d3307266aa
glfw: add setInputModeCursor/getInputModeCursor variants
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
7806709a90
glfw: make mouse buttons a proper enum
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
4d1b92666b
glfw: expose aliased gamepad axis/button constants
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
8c36ea36f8
glfw: identify remaining constants for enumification
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
82a4d02397
glfw: remove duplicated window hints (removed in 14964fa)
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
8df412ed90
glfw: make Window attributes a proper enum
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
65d8d2d10f
glfw: make Window hints a proper enum
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
2e6b73b388
glfw: make setKeyCallback use Key enum directly
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
f6f758859a
glfw: make setMouseButtonCallback use Mods bitmask directly
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
0beaedd263
glfw: add Hat.toInt / Hat.fromInt tests, fix bug
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
2897061ffd
glfw: make Hat.fromInt, Hat.toInt work on non-5-bit integers
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
7cc850982f
glfw: fix failing Mod bitmask tests, make fromInt/toInt work on non-6-bit integers
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
60eeae4904
glfw: make Window.setKeyCallback use Mods packed struct directly
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
ab01edee1c
glfw: glfw.mod.Mods -> glfw.Mods, etc. & fix test compilation
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
32fa90eca9
glfw: ziggify Joystick hat bitmasks
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
210e12a437
glfw: ziggify gamepad button enumerations
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
2154ee5aea
glfw: ziggify gamepad action enumerations
...
Helps hexops/mach#37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-30 20:06:03 -07:00
Stephen Gutekanst
8a14d56fc3
glfw: ziggify all Action enums
...
Make the GLFW action enumerations proper Zig enums so one can use `.Name` syntax, etc.
Helps #37
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-29 21:27:20 -07:00
Stephen Gutekanst
ed10bebf99
glfw: improve panic message for glfw.getInstanceProcAddress
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-29 17:13:21 -07:00
Stephen Gutekanst
ac4bfe5e0b
glfw: make glfw.getProcAddress conform to GLFW C ABI
...
Having `glfw.getProcAddress` conform to the GLFW C ABI is important as it is often
likely to be passed into libraries which expect exactly that ABI for OpenGL function
loading.
Fixes hexops/mach#52
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-29 17:13:21 -07:00
Stephen Gutekanst
8c31529f8a
glfw: make glfw.getInstanceProcAddress conform to GLFW C ABI
...
Having `glfw.getInstanceProcAddress` conform to the GLFW C ABI is important as it is often
likely to be passed into libraries which expect exactly that ABI, e.g. zig-vulkan.
Fixes hexops/mach#49
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-29 16:15:42 -07:00
Stephen Gutekanst
2b4b06cf7b
glfw: workaround framework dependency inclusion bug for now
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-29 12:31:28 -07:00
Stephen Gutekanst
3856c1c95e
CI: update to latest Zig nightly 1444+e2a2e6c14
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-29 12:31:28 -07:00
Stephen Gutekanst
1fa2c51e52
glfw: CI: update to latest Zig nightly 1444+e2a2e6c14
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-29 12:31:28 -07:00
Stephen Gutekanst
3d38f56af6
glfw: do not set sysroot (prevents linking libs not in our system SDKs) ( #47 )
...
* glfw: do not set sysroot (prevents linking libs not in our system SDKs)
Fixes hexops/mach#40
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-24 21:14:13 -07:00
Stephen Gutekanst
8466a5ff08
CI: add build matrix for projects ( #46 )
...
* CI: add build matrix for projects
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-24 18:32:57 -07:00
Stephen Gutekanst
a0677ea6a5
glfw: add intermediate static lib
...
Previously, @Avokadoen and @mattnite ran into issues including the GLFW library
in other projects, e.g. https://github.com/Avokadoen/zig_vulkan/issues/17
In #24 we removed the intermediate static library, which solved the issue. The
problem is that when the function is invoked in the directory of the project
including GLFW, then our code:
```
const lib = b.addStaticLibrary("glfw", "src/main.zig");
```
Would refer to the project's `src/main.zig` -- not the GLFW library `main.zig`.
Although removing the intermediate lib worked around the issue, it created a
new one - slower compilation: hexops/mach#31
This fixes the issue by ensuring that the path we pass to `addStaticLibrary` is
in fact absolute, not relative.
Fixes hexops/mach#31
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-24 13:55:52 -07:00
Stephen Gutekanst
668499b10a
glfw: build: eliminate duplicative arena allocator
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-24 13:42:20 -07:00
Stephen Gutekanst
f911a0a22f
glfw: correct clipboard test
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-24 08:55:26 -07:00