Commit graph

3806 commits

Author SHA1 Message Date
Stephen Gutekanst
19afd254b9 core: restructure code
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 15:46:57 -07:00
Stephen Gutekanst
470a84909b core: more code refactoring / improvements
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 15:45:43 -07:00
Stephen Gutekanst
de1275dc0a core: refactor code structure
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 15:38:13 -07:00
Stephen Gutekanst
e3393abbc1 deduplicate win32 bindings
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 15:24:24 -07:00
Stephen Gutekanst
a62d4fbf8e add mach module doc comment
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 14:26:34 -07:00
Stephen Gutekanst
133c89638b all: move mach.Timer, core Timer/Frequency to mach.time module
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 14:24:09 -07:00
Stephen Gutekanst
d62ddbb6cd CI: remove aarch64-macos runner for now
@github fucked me over and deleted the aarch64-macos runner's configuration
after it was down for a brief period of time[0] so I will have to set it up
from scratch again. For now, we remove aarch64-macos so our CI at least
passes once again.

[0] https://github.com/actions/runner/issues/756

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 13:54:30 -07:00
Stephen Gutekanst
301a8df8f9 remove unmaintained WASM support
Same reasoning as #1254

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 13:35:16 -07:00
Stephen Gutekanst
5ae7e156cb build: fix building just sysaudio standalone
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 13:31:43 -07:00
Stephen Gutekanst
252eba59d7 CI: do not install linux deps
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 13:06:39 -07:00
Stephen Gutekanst
c2767b4e01 core: fix build with Null backend
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 11:52:36 -07:00
Hordur Johannsson
4c8fbb2bf0
Add docs build step. (#1261) 2024-08-25 11:36:06 -07:00
Stephen Gutekanst
be8719a5a2 CI: build examples
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 10:16:14 -07:00
Hordur Johannsson
13e53e7176 Fixing core to work with win32 #1257 2024-08-25 09:59:08 -07:00
Stephen Gutekanst
17450fde65 core: remove linux support
The `mach.Core` API needs major design changes, and every backend that it supports
today must be updated to account for those API design changes. Unless someone is
actively maintaining and improving the state of a given backend, it slows down our
ability to make those critical changes.

Unfortunately, the backends for X11 and Wayland today are half-baked, nobody is
actively maintaining on or contributing to them, and the Linux CI tests have been
broken for over a month as a result which harms overall stability of Mach.

As a result, this PR removes Linux support from `mach.Core`

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-24 23:42:37 -07:00
Stephen Gutekanst
51e996db72 remove unmaintained WASM support
Same reasoning as outlined in #1254

> nobody is interested in actively maintaining or contributing to that today.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-24 23:22:52 -07:00
Stephen Gutekanst
984d4de3bd
core: win32: various improvements (#1255)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Authored-by: Hordur Johannsson <hordurj@gmail.com>
2024-08-24 23:16:53 -07:00
Stephen Gutekanst
a5a3d31411 core: remove WASM support
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-24 22:33:15 -07:00
Stephen Gutekanst
642cc9b7f7 make it clear how to use module system without mach.Core (remove mach.App)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-24 22:33:15 -07:00
Stephen Gutekanst
7ac5bef717 module: add dispatchUntil helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-24 22:33:15 -07:00
Stephen Gutekanst
80be6b7bca examples: revert to 0.4 entrypoint / control API design
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-24 22:33:15 -07:00
Hordur Johannsson
a54d20daa2
d3d12: show warning instead of panic when debug layer cant be created #1128 (#1251) 2024-08-24 20:37:14 -07:00
Stephen Gutekanst
bfa3b069f7 revert bad entrypoint API design changes
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-23 23:03:54 -07:00
Michael Bradshaw
ee4d3886e5 Update mach-objc package 2024-08-23 20:43:38 -07:00
Michael Bradshaw
8ea49d1c80 Remove Objective-C dual namespacing 2024-08-23 20:43:38 -07:00
Michael Bradshaw
08f5b84227 Remove runtime Objective-C initialization and dependency on usingnamespace 2024-08-23 20:43:38 -07:00
Stephen Gutekanst
c04a6080b5 core: fix Darwin filepath case
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-19 22:41:58 -07:00
Stephen Gutekanst
66e56f037b
initial macOS backend (#1249)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Michael Bradshaw <github@mjb.io>
2024-08-18 16:45:37 -07:00
yzrmn
af7ac96a0e
math: remove usingnamespace in favour of mixins (#1231) 2024-08-07 22:05:35 -07:00
Hordur Johannsson
42d2a57611
Changing resource category for textures in d3d12 issue #1225 (#1226) 2024-08-07 21:58:59 -07:00
jack
9148754b76
sysgpu: spirv codegen fix (#1234) 2024-07-29 12:00:45 -07:00
Stephen Gutekanst
3ea364413b objc-generator: move to github.com/hexops/mach-objc
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-14 10:04:00 -07:00
Stephen Gutekanst
03a8445b90 objc-generator: update to latest nominated Zig
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-13 18:50:42 -07:00
Stephen Gutekanst
6e2f937026 core: add Null backend to show what implementing a backend looks like
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-13 15:48:07 -07:00
Hordur Johannsson
c32e763e11
add new win32 platform implementation (#1224)
* Buffer resources from swap chain were not being released.
* sysgpu Texture.getWidth() should return width not height.
* d3d12: Fixing issues with d3d12 on sysgpu.
* Initial win32 platform
2024-07-13 15:33:45 -07:00
Ali Cheraghi
3fa889b136 core: revive wayland 2024-07-13 09:06:35 -07:00
Ali Cheraghi
0023ab14fb {vulkan,examples}: fix descriptor set bug 2024-07-13 09:06:35 -07:00
Ali Cheraghi
266e7a548b core: refactor 2024-07-13 09:06:35 -07:00
Ali Cheraghi
c254337e4b {core, build}: remove glfw 2024-07-13 09:06:35 -07:00
Ali Cheraghi
539aadf664 sysgpu: remove everything related to dawn 2024-07-13 09:06:35 -07:00
Stephen Gutekanst
98801a258e remove Dawn / WebGPU support in favor of sysgpu
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-07 22:08:16 -07:00
Stephen Gutekanst
e6cecc3ebe core: remove all examples
These examples were great at showing how to use the WebGPU and sysgpu APIs
but otherwise had poor code quality, depended on zmath instead of mach.math,
etc. and so are being removed.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-07 22:08:16 -07:00
Stephen Gutekanst
2385b93a2b github: update dev release process
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-07 21:23:24 -07:00
Hordur Johannsson
9e4611d5d6 Buffer resources from swap chain were not being released. 2024-07-07 20:03:17 -07:00
Stephen Gutekanst
2f0415a603 sysgpu: fix Texture.getWidth()
Authored by @hordurj in https://github.com/hexops/mach/pull/1220/commits/235decb4aa5736f4f25643e960c74ae41088ad4e

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-06 11:18:30 -07:00
Stephen Gutekanst
d9e11a8296 Audio: respect volume properly
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-06 11:16:55 -07:00
Stephen Gutekanst
316f2354d1 mach: add centralized is_debug flag
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-16 10:05:08 -07:00
Stephen Gutekanst
b72f0e11b6 build: update Zig version check
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 19:00:43 -07:00
Stephen Gutekanst
742b87709f zigversion: update to Zig 2024.05
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 18:59:25 -07:00
Stephen Gutekanst
2a7e6049fd linux: update to latest vulkan-zig API; fix build
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 18:57:45 -07:00