Commit graph

2682 commits

Author SHA1 Message Date
Wrench[bot]
e4f2f08431
gpu-dawn: update to latest Dawn version (#656)
* gpu-dawn: update to latest version generated-2023-01-12.1673546526

Signed-off-by: Wrench[bot] <wrench@hexops.com>
Co-authored-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-14 08:26:48 -07:00
Austin Rude
c02578721a gpu: Update example to latest zig/glfw
Update the mach/gpu only example to work with the latest zig and
recent glfw error handling changes.
2023-01-12 21:46:27 -07:00
Release automation
340e886e78 gpu-dawn: update to latest binary release 2023-01-12 18:43:13 +00:00
Ali Chraghi
3e51dc0581 ci: remove git install step 2023-01-12 10:51:16 -07:00
Ali Chraghi
a97a33334c {mach, gpu-dawn}: don't hardcode linux window manager to X11 2023-01-12 10:51:16 -07:00
Ali Chraghi
8a645fa1bf gpu-dawn: fix binary revision 2023-01-12 10:51:16 -07:00
Release automation
772071c095 gpu-dawn: update to latest binary release 2023-01-12 10:04:11 +00:00
Release automation
f990d6761b gpu-dawn: update to latest binary release 2023-01-12 09:36:21 +00:00
Wrench[bot]
a19dcbbc19 all: update Zig to version 0.11.0-dev.1268+0e66df209
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2023-01-12 02:05:33 -07:00
Ali Chraghi
9364c8b6c2 gpu-dawn: append -g0 when debug mode is disabled
most binaries size will be reduced to half now
2023-01-12 01:54:48 -07:00
Ali Chraghi
e6f8630ac6 wasmserve: fix compilation with latest zig 2023-01-12 01:54:48 -07:00
Ali Chraghi
9675bd662e gamemode: fix package path 2023-01-12 01:54:48 -07:00
Ali Chraghi
1d7cd4be80 mach: fundamental changes
- Core doesn't depend to `App` anymore
 - `setOptions` has replaced with some new functions (`setTitle`,
   `setSize`, etc)
   - and more
2023-01-12 01:54:48 -07:00
Lue
91a53807ab mach: fix outdated reference to glfw.Error 2023-01-10 20:52:41 -07:00
Lue
eed2be4591 glfw: refactor getError and related functions
`getError()` now returns a struct `Error` containing `error_code` and
`description`. Rationale: retrieving the error code with the previous
implementation of `getError()` caused `getErrorString()` to return
null (the reverse is also true). The new implementation allows both
values to be retrieved at once.

The previous `getError()` function has been renamed to
`getErrorCode()` to reflect the fact that it returns a simple Zig
error rather than the `Error` struct. The error set returned by
`getErrorCode()` is now named `ErrorCode` rather than `Error`.

The behavior of the `getError()` family of functions clearing the
stored error is unchanged. However, since all code that used
`defer glfw.getError() catch {}` to explicitly clear errors had to be
refactored, a new `glfw.clearError()` function that returns void is
now available to make this operation more explicit.

Additionally, `mustGetError()` is now `mustGetErrorCode()`, and new
functions `mustGetError()` and `mustGetErrorString()` have been added
which wrap `getError()` and `getErrorString()` but panic if no error
is actually available.

Tests and API documentation had to be refactored across all of
`mach/glfw`. This commit also takes the opportunity to skip tests
involving window creation on CI so that other tests may still execute
normally.
2023-01-10 20:52:41 -07:00
Release automation
779359a519 gpu-dawn: update to latest binary release 2023-01-10 09:35:27 +00:00
Stephen Gutekanst
a750e31d11 Revert "all: build: fix sdkPath for relative @src.file / fix autocompletion with ZLS / IDEs (#661)"
This reverts commit a1fe671db8.

Lue suggested reverting #661 because ZLS worked around the issue of @src
being relative in that environment: https://github.com/zigtools/zls/pull/898

This is not a perfect solution (what zls did seems to be a workaround), but
is good enough for us until Zig gets an official package manager.
2023-01-10 01:57:52 -07:00
Wrench[bot]
7d246e76b3 all: update Zig to version 0.11.0-dev.1247+87b223428
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2023-01-08 18:21:50 -07:00
Stephen Gutekanst
cd236e8df7 glfw: README: update usage example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-08 18:21:11 -07:00
Stephen Gutekanst
2cd4ce12f2 mach: update to latest GLFW error handling approach
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-08 18:21:11 -07:00
Stephen Gutekanst
abb1077052 glfw: rework error handling system to prevent footguns
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-08 18:21:11 -07:00
apple
cf8922cc33
gpu: fix example build (#663) 2023-01-05 01:58:13 -07:00
Stephen Gutekanst
2271c78fd6 gamemode: fix compilation after build change
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-02 12:49:58 -07:00
Lue
a1fe671db8
all: build: fix sdkPath for relative @src.file / fix autocompletion with ZLS / IDEs (#661)
* all: build: fix sdkPath for relative @src.file

Prior to this commit, the build system heavily assumed that the result
`@src.file` would always be absolute, but this is no longer
guaranteed, likely due to there being no such thing as an "absolute
path" in WASI.

It appears that for normal invocations of `zig build`, it is safe to
assume that `@src.file` is absolute. However, when ZLS uses a custom
`build_runner.zig` to collect build configuration, `@src.file` is
actually relative to the current working directory, at least on my
system. For a while, this led to ZLS completions breaking entirely,
but presently it actually causes ZLS to crash!

The solution is not as simple as using relative `sdkPath` results
as-is, because the build system may attempt to resolve these paths
relative to build root, when the paths are actually relative to the
current working directory.

This leads to a sticky situation: the current working directory is a
runtime concept, but `@src.file` is resolved at compile time. However,
it appears that the build runner does not change current working
directory in between compilation and execution, so it is probably safe
to calculate `sdkPath` using runtime current working directory.

Still, this requires major changes with how `sdkPath` works, since
runtime computation and allocations are required. So pretty much
anything that relied on `sdkPath` being comptime-known has been
refactored in this commit.

The most severe result of this is that, for example, `gpu.pkg` can no
longer be a comptime-known constant: it has to be a runtime function
that takes a `*Builder` and returns a `Pkg`.

This commit deals with usages of `*.pkg` and `sdkPath` within Mach
itself, but projects that depend on Mach such as `mach-examples` will
almost certainly require changes as well.

* all: update README to reflect change in pkg usage

For details on updating your code to use this version, see: 88b1106953

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-02 01:23:46 -07:00
Aaron Winter
f5d9b1ee57
ecs: store column values as independent arrays (#642)
* get column values from separate functions
* split ArchetypeStorage.block into blocks per component type
* ecs: remove allocator field from ArchetypeStorage
* ecs: remove whitespace
* ecs: correct suspicious index operation in setRow
* add back zero-size ColumnType check; bring back reliance on component names
* ecs: validate setRaw length matches
* ecs: fix failing test & move values slice into Column type

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-02 00:54:10 -07:00
Release automation
3e353f0eaf gpu-dawn: update to latest binary release 2023-01-01 10:22:21 +00:00
Wrench[bot]
d5f37257c5 all: update Zig to version 0.11.0-dev.1023+1c711b0a6
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2023-01-01 02:40:57 -07:00
Release automation
77184877d4 gpu-dawn: update to latest binary release 2022-12-30 20:35:10 +00:00
Wrench[bot]
a3a0417c21 all: update Zig to version 0.11.0-dev.1000+94780f7cd
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2022-12-30 12:52:31 -07:00
Stephen Gutekanst
90bca96627 dev: remove update-zig script (Wrench now does this)
Wrench now automatically sends PRs to update Zig:

* https://github.com/hexops/mach/pull/655
* https://github.com/hexops/mach-examples/pull/23

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-12-30 12:51:18 -07:00
Release automation
fe590407d2 gpu-dawn: update to latest binary release 2022-12-29 11:20:42 +00:00
Stephen Gutekanst
f8d5db71c2 CI: do not install Zig on self-hosted runners (now managed by Wrench)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-12-29 03:19:15 -07:00
Ali Chraghi
b8deaf8010 mach: add borderless_window option 2022-12-28 11:47:51 -07:00
Ali Chraghi
c26592ea89 mach: render during resize 2022-12-28 11:47:51 -07:00
Ali Chraghi
69cbe954ac glfw: undo setSizeLimits workaround 2022-12-28 11:47:51 -07:00
Ali Chraghi
03431acf4a glfw: accept null cursor in Window.setCursor 2022-12-28 11:47:51 -07:00
Stephen Gutekanst
653f4eb573 Revert "gpu-dawn: update to latest binary release"
This reverts commit 502bfd62e5.
2022-12-27 15:20:12 -07:00
Release automation
502bfd62e5 gpu-dawn: update to latest binary release 2022-12-27 21:49:11 +00:00
Stephen Gutekanst
078094f186 gpu-dawn: CI: fix Zig version for aarch64-linux cross compilation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-12-27 13:47:54 -07:00
Ali Chraghi
f14536f5f0 gpu-dawn: utilize linux-aarch64 binary releases 2022-12-27 12:53:00 -07:00
Ali Chraghi
c0a5bc655c gpu-dawn: produce builds for aarch64 2022-12-27 12:53:00 -07:00
Ali Chraghi
c4842ea5c5 build: replace App.setBuildMode() with mode option 2022-12-27 12:53:00 -07:00
Stephen Gutekanst
b94bc1fd47 Revert "gpu-dawn: update to latest binary release"
This reverts commit db9a929940.
2022-12-26 00:28:15 -07:00
Release automation
db9a929940 gpu-dawn: update to latest binary release 2022-12-25 21:18:50 +00:00
Beau McCartney
7d04252126
mach: remove compiler error for missing field in app (upstream issue fixed) (#647)
* platform: allow fieldless App
* platform: remove unused field

Co-authored-by: Beau McCartney <beau@beaumccartney.xyz>
2022-12-25 13:37:23 -07:00
Ali Chraghi
5849304fba all: update zig version 2022-12-25 13:36:03 -07:00
Ali Chraghi
b2a1f6d55f readme: update 2022-12-25 13:36:03 -07:00
Ali Chraghi
7df12a0cae sysjs: automatically cast numbers to f64 & remove dead code 2022-12-25 13:36:03 -07:00
Ali Chraghi
2de36ad75b wasmserve: execute zig with acutal args 2022-12-25 13:36:03 -07:00
Ali Chraghi
061daa790f ci: remove compile-all step
examples are moved to a separate repo and `zig build` does the same
2022-12-25 13:36:03 -07:00