Commit graph

1565 commits

Author SHA1 Message Date
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
Ali Chraghi
18369e8c9b freetype: ziggify C structs 2022-05-27 20:50:56 -07:00
iddev5
b5737af9cd examples: Load all images from Memory (using embedFile) instead of File 2022-05-27 01:09:15 -07:00
d3m1gd
ed0d9c100f mach: fix build.zig 2022-05-26 18:29:43 -07:00
iddev5
336134c996 freetype: change example names to match mach convention
General mach examples use ``long-example-name`` case but freetype was
using ``snake_case`` right now, which is inconsistent and midly
inconvenient to use.

Renamed: glyph_to_svg -> glyph-to-svg, single_glyph -> single-glyph
2022-05-25 23:08:45 -07:00
iddev5
32c12f0eaa mach: wasm: implement key press and release events 2022-05-25 09:10:13 -07:00
iddev5
d8afc9c88c mach: wasm: enable lapping of engine timer every frame 2022-05-25 09:10:13 -07:00
iddev5
8d9ca11b45 mach: wasm: add note about vsync support and move VSyncMode to enums.zig 2022-05-25 09:10:13 -07:00
iddev5
488131ecbb mach: wasm: Adjust width and height for HiDpi/Retina
Also implements getFramebufferSize() and getWindowSize() properly.
2022-05-25 09:10:13 -07:00
Ali Chraghi
017b469e2f freetype: add running examples instruction 2022-05-25 09:06:43 -07:00
Ali Chraghi
ca0db5a701 freetype: example runner in zig build & new glyph_to_svg example 2022-05-25 09:05:57 -07:00
Ali Chraghi
7a8aee8665 freetype: implement some functions binding 2022-05-25 09:05:57 -07:00
Pierre Curto
1a082ef5a7
freetype: README: fix build.zig example (#300) 2022-05-25 06:21:08 -07:00
Ali Chraghi
93c52b62ac ci: add freetype 2022-05-24 14:35:36 -07:00
Ali Chraghi
16020ea034 ci: update m1 ci name 2022-05-24 14:35:36 -07:00
Ali Chraghi
7206f2de48 README: fmt & fix broken link 2022-05-24 14:34:45 -07:00
Ali Chraghi
b5d10fb167 gpu: taked slice child type in writeTexture 2022-05-24 14:34:13 -07:00