Commit graph

462 commits

Author SHA1 Message Date
InKryption
7b9b0469cb glfw: un-hardcode constant
Make the constant extracted from GLFW source into `time.setTime`, into a better-documented set of comptime instructions
2021-11-26 22:13:47 -07:00
InKryption
1d648c2256 glfw: Eliminate Error.InvalidValue 2021-11-26 20:50:38 -07:00
InKryption
683c60bdfe glfw: run zig fmt 2021-11-24 05:14:48 -07:00
InKryption
a6b30b98e2 glfw: add runtime assertion to Window.setInputMode
Assertion to ensure that the value of 'mode' matches the type of 'value'
2021-11-24 05:14:48 -07:00
InKryption
f9ecc8e1f8 glfw: Finalize removal of 'InvalidEnum' error 2021-11-24 05:14:48 -07:00
InKryption
fb0c695bd1 glfw: Eliminate InvalidEnum 2021-11-24 05:14:48 -07:00
InKryption
a465d2e021 glfw: add 'assertInitialized' 2021-11-23 12:12:55 -07:00
InKryption
c95bc37306 glfw: make comment into doc comment 2021-11-23 12:12:55 -07:00
InKryption
77eeadd407 glfw: update possible errors comment
Add 'FormatUnavailable' as a possible error to the 'getClipboardString' comment, which can set it on wayland
2021-11-23 11:07:14 -07:00
InKryption
6127fa267f glfw: re-instate prong
Bring back the 'c.GLFW_NOT_INITIALIZED' prong in 'convertError', such that if it is ever passed that error code, we can differentiate it from just an invalid input; because it is a valid input, we just guarantee that it won't occur.
2021-11-23 11:06:19 -07:00
InKryption
b35a7b4fad glfw: Change error unions into normal returns, in accordance with the new guarantee to never encounter 'GLFW_NOT_INITIALIZED', and update tests 2021-11-22 12:59:11 -07:00
InKryption
88e0d37325 glfw: enum-ify 'Joystick.jid', set 'InvalidEnum' as unreachable, and run zig fmt 2021-11-22 12:59:11 -07:00
InKryption
aae3ea8577 constify unmutated variables in build files 2021-11-22 12:59:11 -07:00
InKryption
d9e2505b59 glfw: amend and update various TODOs pertaining to force-init changes 2021-11-22 12:59:11 -07:00
InKryption
da392d89a7 glfw: assert initialized in proc address getter functions 2021-11-22 12:59:11 -07:00
InKryption
43b2502e3a glfw: fix for getClipboardString reaching unreachable prong on linux CI 2021-11-22 12:59:11 -07:00
InKryption
ef7ada052c glfw: Revert error denormalization 2021-11-22 12:59:11 -07:00
InKryption
44fee8f1f1 glfw: force init error type work around 2021-11-22 12:59:11 -07:00
InKryption
9f241b5109 glfw: Remove 'NotInitialized' error 2021-11-22 12:59:11 -07:00
InKryption
42f0d15584 glfw: force init in Window.zig 2021-11-22 12:59:11 -07:00
InKryption
76d2b8ad9f glfw: force init in vulkan.zig 2021-11-22 12:59:11 -07:00
InKryption
4e22d5811e glfw: force init in time.zig 2021-11-22 12:59:11 -07:00
InKryption
1c33e85af3 glfw: force init in opengl.zig 2021-11-22 12:59:11 -07:00
InKryption
fb115b79e5 glfw: force init in Monitor.zig 2021-11-22 12:59:11 -07:00
InKryption
526bff1d5b glfw: force init in Joystick.zig 2021-11-22 12:59:11 -07:00
InKryption
c90f879709 glfw: force init in key.zig 2021-11-22 12:59:11 -07:00
InKryption
c6310dc377 glfw: force init in main.zig 2021-11-22 12:59:11 -07:00
InKryption
de1e6391c6 glfw: force init in Cursor.zig 2021-11-22 12:59:11 -07:00
InKryption
fba8bb1cb2 glfw: force init in clipboard.zig 2021-11-22 12:59:11 -07:00
InKryption
400e86888b glfw: force init before using init dependent functions 2021-11-22 12:59:11 -07:00
Stephen Gutekanst
7d47233d7a glfw: patch GLFW sources to workaround a bug where Zig and Mach C headers conflict
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 12:31:55 -07:00
Stephen Gutekanst
ae39a840e8 glfw: update system_sdk to use latest MacOS 12.0 SDK
Updates us to using the newer SDK https://github.com/hexops/sdk-macos-12.0

Also enables cross-compilation of the `mach/gpu` backend for macOS.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 12:31:55 -07:00
Stephen Gutekanst
d5d78a2196 gpu: README: clarify Zig version requirements
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
efb7fe9c62 gpu: update dawn C shims to reflect library name
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
882e82f601 gpu: remove TODO about spirv-cross
Mozilla and Google both found SPIRV-Cross to be insufficient and built Naga and
Tint, respectively, so there's no need to support this build option.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
5ce69d0273 gpu: correct Force32 explanation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
4a76678a62 gpu: remove backend type constant debugging code
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
512da9ae9d gpu: build Null dawn backend
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
ab87f82382 gpu: polish README
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
484f768c0a webgpu: rename to just "gpu"
It's nicer to refer to this in code as `gpu`. Additionally, `webgpu` as a name
gives the impression this is for web only which is absolutely not true but could
understandably be very confusing to newcomers.

Solve both problems by renaming to just `gpu`, and (next) updating the README to
indicate what it does and why, then explain it's WebGPU after as more of an
implementation detail.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
ef1827a9a1 webgpu: install all dawn libs
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
0cf9f06177 webgpu: build tint into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
edb95b23c5 webgpu: build spirv-tools into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
b2ad2f4f21 webgpu: build dawn-utils into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
9793bb7de0 webgpu: build dawn-wire into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
698d4f6bc4 webgpu: build dawn-native into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
eb1936a98d webgpu: build dawn-platform into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
13d26d3587 webgpu: build dawn-common into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
3c5be625af webgpu: build abseil-cpp into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
9387981c22 webgpu: build Mach dawn-native C shims into a library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00