Commit graph

536 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Stephen Gutekanst
130c474874 fix windows build
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 18:57:45 -07:00
Stephen Gutekanst
707e5cc756 update to Zig 2024.05
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 18:57:45 -07:00
Stephen Gutekanst
2f406c341f move mach-objc-generator to src/mach/objc-generator
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 09:57:01 -07:00
Stephen Gutekanst
b09b462ef1 src/sysjs: move sysjs@v0 to here
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 09:34:39 -07:00
Stephen Gutekanst
ffd03c3b0b remove examples that require model3d
See hexops/mach#969

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 09:01:09 -07:00
Stephen Gutekanst
13ff5097db module: fix potential archetype hash collision lookup issues
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-26 18:04:08 -07:00
Stephen Gutekanst
b6a7296251 sysaudio: examples: add support for 8ch output
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-26 13:00:29 -07:00
Stephen Gutekanst
aa0ec4ba5e module: remove archetypeByID, improve "entity does not exist" error cases
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-24 13:42:29 -07:00
Stephen Gutekanst
f4f89af8b9 gfx: Sprite/Text: add ability to specify view*projection matrix
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-24 07:17:14 -07:00
Stephen Gutekanst
b261a8177f gfx: Sprite: sort/draw sprites back-to-front always
Prior to this change sprite draw order was not something we could specify,
now we can by changing the Z value of sprites (sprites further away / with
greater Z values are drawn first), which is obviously desirable for layering
and alpha blending purposes.

The implementation here is rather naive: we sort all sprites each frame based
on their Z value; but its performance is quite good with ~half a million sprites
and so is good enough for now.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 18:13:26 -07:00
Stephen Gutekanst
1237858359 math: fix projection2D bug with reverse-z
This went unnoticed because our test had near=-100 and far=100 which
is pretty uncommonly balanced, added a new test near=0 far=100 to test
for this.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 18:12:34 -07:00
Stephen Gutekanst
a6157642b8 Audio: fix accounting for remainder of sample buffer
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 17:35:22 -07:00
Stephen Gutekanst
4ac222b36c gfx: Sprite: minor shader simplification
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 08:24:40 -07:00
Stephen Gutekanst
031164d9b5 gfx: Text: add ability to change font color
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 08:22:25 -07:00
Stephen Gutekanst
f79351ed59 wip
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 08:21:33 -07:00