Commit graph

396 commits

Author SHA1 Message Date
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
Stephen Gutekanst
418d72a766 webgpu: cleanup dawn linkage
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
00095ded60 webgpu: cleanup dawn example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
ea197f9dca webgpu: update dawn example to use latest mach-glfw API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
8a4cbc0e5d webgpu: zig fmt
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
e9bad16cda webgpu: update dawn to fix inclusion of vulkan-deps
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
26ee017b2e webgpu: update dawn to not use any submodules itself (commit all dependencies)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
71e47ae228 webgpu: update dawn (undo abseil-cpp upgrade)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
fe328e2309 webgpu: update dawn to correct vulkan-deps submodules
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
f785bff7f4 webgpu: update dawn to remove vulkan-deps shell repository
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
88b5e5bc70 webgpu: update dawn to fix vulkan-deps submodules
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
3bac31976f webgpu: update dawn to fix abseil-cpp missing revision
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
6492d29986 webgpu: update dawn to include more submodule dependencies
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
cff0977a42 webgpu: update dawn to fix abseil-cpp module location
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
4c34dc4ca2 webgpu: update dawn to include abseil-cpp submodule
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
d7be41e35f webgpu: add libs/mach-glfw
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00
Stephen Gutekanst
b2aca7fdde webgpu: begin building Dawn with Zig
* MacOS support functional
* C shims for dawn_native functionality, e.g. required utilities for binding to a GLFW window.
* Fully building with Zig, but depends on ziglang/zig#10096 for Obj-C++ support.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-21 08:32:03 -07:00