Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

future of Mach #1222

Merged
merged 2 commits into from
Jul 8, 2024
Merged

future of Mach #1222

merged 2 commits into from
Jul 8, 2024

Conversation

slimsag
Copy link
Member

@slimsag slimsag commented Jul 8, 2024

v0.4 was released tonight: this version is effectively just the latest main branch tagged, as you'd expect.

If you are building something with Mach, you should consider switching to this tagged version instead of continuing to use main. We won't continue developing this version of Mach in general, but there is a 0.4 branch where some real-world projects depending on Mach (like Lord of Zero the game, or Pixi) may send PRs if needed in the future. It will not be updated to the latest Zig versions in general. https://github.com/hexops/mach/tree/0.4

Going forward, we are changing the Mach development strategy to aggressively embrace our future of:

  • Replacing WebGPU/Dawn with our own graphics API
  • Replacing the WGSL shading language with our own Zig shading language
  • Replacing GLFW with our own windowing backends

This all means main is going to be unstable, and very likely broken entirely on some operating systems, for a while! Contributions/pull requests welcome.

f you're making something with Mach, you can either help contribute to this new world or you can continue using the old version (v0.4, the old version, was released/tagged today.)

If you're wondering 'why?' - then you should read: #1166


This PR includes two sweeping breaking changes that will cause large regressions:

  • Remove any old example which depends on zmath (does not use mach.math), etc.
  • Remove support for Dawn / WebGPU, in favor of sysgpu. sysgpu works fine on macOS but probably has minor issues on Windows and Linux.

A next PR will be:

  • Remove support for GLFW, in favor of custom windowing backends.

I

  • By selecting this checkbox, I agree to license my contributions to this project under the license(s) described in the LICENSE file, and I have the right to do so or have received permission to do so by an employer or client I am producing work for whom has this right.

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>
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
@slimsag slimsag merged commit 98801a2 into main Jul 8, 2024
5 of 7 checks passed
@slimsag slimsag deleted the sg/future branch July 8, 2024 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant