Commit graph

1431 commits

Author SHA1 Message Date
iddev5
176554fe4d mach: Make size limits part of runtime options (mach.Options)
Removed method Engine.setSizeLimits and added two new fields to
mach.Options called ``size_min`` and ``size_max`` which does the same
thing.
2022-06-01 23:45:56 -07:00
iddev5
ed0e6f5c61 mach: Added runtime application options
Reused mach.Options for run time options. It is set with
Engine.setOptions function. ``pub const options`` on top level App has
no effect and will be ignored completely.

Added a blank struct StartupOptions which would be used for startup time
options in future. Currently they aren't used for anything.
2022-06-01 23:45:56 -07:00
iddev5
01eee68f5b shaderexp: avoid using engine.internal and update to new engine API 2022-06-01 23:45:56 -07:00
iddev5
03491dfd27 examples: update to new Engine API 2022-06-01 23:45:56 -07:00
iddev5
50fe649ab1 mach: merge and remove the extra layer of indirection caused by Core and
GpuDriver

Core and GpuDriver both are merged into one type called Platform. Also
previously the fields and methods which were called as
``engine.core.field`` will now be ``engine.field`` i.e an extra layer is
removed.
2022-06-01 23:45:56 -07:00
David Vanderson
3961073084
{mach,examples}: followups to getWindowSize / getFramebufferSize (#322)
* followup to window size saving, getWindowSize and getFramebufferSize no longer return errors
* updated the examples
2022-05-31 11:39:53 -07:00
Release automation
6bfb16554a gpu-dawn: update to latest binary release 2022-05-31 18:14:26 +00:00
Stephen Gutekanst
85ce4b22bd gpu-dawn: update macOS binary check from -gnu to -none ABI
Reflecting the breaking change in latest Zig master.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 10:28:27 -07:00
Release automation
ee7eca280c gpu-dawn: update to latest binary release 2022-05-31 12:46:56 +00:00
Stephen Gutekanst
322ead9218 CI: ZIG_VERSION=0.10.0-dev.2439+c84f5a5f9 ./dev/update-zig.sh
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 05:02:04 -07:00
Stephen Gutekanst
1af3ae02bf dev: CI: keep string terminator when updating Zig version for Windows
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 05:01:34 -07:00
Stephen Gutekanst
1eab0539d1 CI: correct M1 runner Zig version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 04:11:43 -07:00
Stephen Gutekanst
c2111e0691 CI: ZIG_VERSION=0.10.0-dev.2439+c84f5a5f9 ./dev/update-zig.sh
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:39:45 -07:00
Stephen Gutekanst
7fb3e071d4 dev: CI: correct automated Zig version updates for Windows
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:39:26 -07:00
Stephen Gutekanst
539b643267 CI: rename macos-gnu target -> macos-none
Reflecting breaking change in latest version of Zig

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
3a81754973 CI: ZIG_VERSION=0.10.0-dev.2439+c84f5a5f9 ./dev/update-zig.sh
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
2de8918e9a dev: make update-zig.sh update README version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
12035dae6c README: document supported Zig version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
59e82a6c5c dev: add a script to update Zig version used by CI
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
be6d5b8ac9 CI: always upgrade Zig M1 CI version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
d3680b6394 glfw: CI: always upgrade Zig M1 CI version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
257d4a92f2 gpu-dawn: CI: always upgrade Zig M1 CI version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
0be7b091a5 gpu-dawn: CI: standardize M1 CI name
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
bfbc725f0e glfw: CI: standardize M1 CI name
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
5d97a59345 CI: use shorter M1 CI name
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
David Vanderson
c0e0b7c686 mach: save window and framebuffer size from glfw callbacks
Previously if user code called core.getWindowSize() (or
getFramebufferSize) during their update they could get sizes that did
not match engine.gpu_driver.target_desc because the window had changed
size.

Now core.getWindowSize() returns the last size we got from a glfw
callback instead of directly querying the window.  So all sizes should
agree during a single frame.

This relies on glfw callbacks only happening when we call
glfw.pollEvents().  This isn't strictly true - a callback could happen
during any glfw call.  Might have to revisit this later.
2022-05-30 12:17:04 -07:00
d3m1gd
25022a1471 glfw: move git check 2022-05-30 10:24:09 -07:00
d3m1gd
866acd5535 mach: ensure git present 2022-05-30 10:24:09 -07:00
d3m1gd
5549388e57 glfw: ensure git present 2022-05-30 10:24:09 -07:00
iddev5
7de0776f38 CI: compile all examples for Wasm 2022-05-30 10:23:21 -07:00
iddev5
b57fe9a420 mach: build: disable gkurve example of wasm as freetype cant be compiled for
freestanding targets
2022-05-30 10:23:21 -07:00
iddev5
ff126c0054 mach/platform: check for App functions in all platforms 2022-05-30 10:22:42 -07:00
iddev5
21c49ff9be mach: Move all platform specific files to platform/ directory 2022-05-30 10:22:42 -07:00
kamidev
68190e863a Change std.build.Pkg.path -> std.build.Pkg.source
Fixes breaking change in latest Zig master, see https://github.com/ziglang/zig/pull/11557
2022-05-29 08:25:52 -07:00
Michal Ziulek
f2ab1eb069 gpu: Queue.WorkDoneStatus fields should be snake_case. 2022-05-29 05:26:12 -07:00
Ali Chraghi
f96b5758fd freetype: update example runner usage 2022-05-28 10:08:34 -07:00
PiergiorgioZagaria
8fa9ab2f58 examples/gkurve: add atlas text rendering 2022-05-27 21:24:31 -07:00
Stephen Gutekanst
027939e8ef mach: ensure tools/libs/apple_pie submodule is cloned
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-27 21:08:10 -07:00
iddev5
d85c6a8669 mach: build: Use proper application name in case of wasm
This uses the new html-generator tool to automatically fix the file
names in resulting application.html
2022-05-27 21:08:10 -07:00
iddev5
19fb2e8ebd tools: add html-generator tools to automatically generate
application.html
2022-05-27 21:08:10 -07:00
iddev5
8d4c51738e mach: build+tools: allow address and port of http server be configurable
for wasm

MACH_ADDRESS and MACH_PORT environment variable are added.
2022-05-27 21:08:10 -07:00
iddev5
8b8ed4dc8f mach: build: cleanup and add notes 2022-05-27 21:08:10 -07:00
iddev5
e7f7737cc8 mach: build: Implement run step for wasm applications
This actually compiles and runs a http server (based on apple_pie) and
uses xdg-open (on unixes) and open (on rest) to launch the browser.

The steps actually take place in reverse order because running a web
server would block the current process (limitation of RunStep). Hence we
are assuming that (xdg-)open is just a launcher and would take a while
to open the browser application.
2022-05-27 21:08:10 -07:00
iddev5
84af4e118c mach: build: install additional files (html, js) in case of wasm
Install the files template.html (renamed to application.html) and
mach.js in case of WASM. Also changed the install directory to
{prefix}/www.
2022-05-27 21:08:10 -07:00
iddev5
7c70dde3f1 tools: add basic http server implementation 2022-05-27 21:08:10 -07:00
iddev5
cc700d79dd tools: Add apple_pie dependency 2022-05-27 21:08:10 -07:00
iddev5
1c2dbfbd4f mach: build: simplify stating of dependencies for apps 2022-05-27 21:08:10 -07:00
Ali Chraghi
a1f756b4cd freetype: reduce code size 2022-05-27 20:50:56 -07:00
Ali Chraghi
643753c80a freetype: rename convertError to intToError 2022-05-27 20:50:56 -07:00
Ali Chraghi
b92770404f freetype: add a wrapper for outline functions 2022-05-27 20:50:56 -07:00