Commit graph

323 commits

Author SHA1 Message Date
Stephen Gutekanst
412df4490c mach: fmt
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-09-17 08:50:25 -07:00
Ali Chraghi
6043c7eae6
mach: add is_app option to disable gamemode in desktop applications; use parseIp4 (#544)
* mach: add `is_app` option to disable gamemode in desktop applications
* use parseIp4 instead of resolveIp (which throws a compile error in windows)
2022-09-16 23:32:27 -07:00
LeRoyce Pearson
47d1544b64
{mach,sysjs}: put WASM imports into their own namespaces (#537) 2022-09-16 16:56:22 -07:00
Louis Pearson
6183e39593
mach: add {s} formatter to mouse cursor debug print (#539)
* Fix setMouseCursor compile error
2022-09-16 16:42:19 -07:00
Jeremia
7ed8829349
mach: better compile error for missing fields in App. (#548)
Stage2 Zig ends up coercing structs without any fields into consts.
The current error given is not entirely clear to the cause or how
to fix the issue for users.

Related to https://github.com/ziglang/zig/issues/12275
2022-09-16 16:36:15 -07:00
praschke
b0cd4ec1a0
all: fix pointless discards; typo; fix libmach compilation on Linux (#541) 2022-09-15 07:41:05 -07:00
praschke
38c4fc5b01 mach: make default minimum window size 350x350 2022-09-15 07:39:38 -07:00
praschke
a873227ab8 {mach,examples,shaderexp}: fix default minimum window size 2022-09-15 07:39:38 -07:00
Louis Pearson
9676665ccf
mach: fix setMouseCursor compile error (#538) 2022-09-14 18:15:41 -07:00
locriacyber
b8c48d6321
all: remove ineffective _ = variable assignments (#530)
Lastest Zig complains about this, so they must removed to build.
2022-09-14 09:42:29 -07:00
Stephen Gutekanst
8113ca370d all: remove support for stage1
With almost all tests/examples working on all platforms now with the new compiler,
https://github.com/hexops/mach/issues/180, it's time to remove stage1 support.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-09-10 00:09:30 -07:00
Louis Pearson
70f4514c66 sysaudio: fix compile for web 2022-09-09 22:39:35 -07:00
Stephen Gutekanst
78485e49f5 mach: wasm: add stub GPUInterface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-09-09 22:06:27 -07:00
Stephen Gutekanst
9a759c55c5 mach: do not attempt to import gamemode on non-Linux platforms
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-09-08 07:26:46 -07:00
Stephen Gutekanst
c97bcdde0a mach: improve compatibility with self-hosted compiler
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-09-08 07:26:30 -07:00
Ali Chraghi
194971586d mach: use std.log.(scope) instead of std.debug.print 2022-09-07 21:25:35 -07:00
Ali Chraghi
d8af6740c5 mach: exit if no backend found for adapter 2022-09-07 21:25:35 -07:00
Ali Chraghi
55e6959f28 mach: supress gamemode dlopen failed error 2022-09-06 20:48:30 -07:00
Stephen Gutekanst
ec0be9294d mach: fix panic on application exit (invalid free)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-29 01:20:18 -07:00
Stephen Gutekanst
2e61125601 mach: expose sysaudio/sysjs packages
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
28fb75c7eb mach: simplify sign function & improve self-hosted compiler support
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
1cc15e92a0 mach: add objc_message.zig dependency
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-20 12:03:17 -07:00
Stephen Gutekanst
192de6946e mach: improve compatibility with self-hosted compiler
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-20 12:02:01 -07:00
Stephen Gutekanst
72b081c97a mach: improve compatibility with self-hosted compiler
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-20 11:41:01 -07:00
Stephen Gutekanst
d03078fbd6 mach: fix conflicting symbol name (recent change in Zig)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-19 12:34:08 -07:00
Stephen Gutekanst
631d3eadbb {mach,gpu}: correct unused parameter
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-18 11:29:07 -07:00
Stephen Gutekanst
f5d34e1247 {mach,gpu}: fix accidental inclusion of objc/message.h on non-darwin platforms
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-18 11:22:51 -07:00
Stephen Gutekanst
eb0eceb707 mach: correct vsync mode setting
This correctly sets presentation modes for vsync, both at startup and at runtime via
a `setOptions` request.

Note: There may still be platforms where setting vsync is not enough, and a frame rate
limiter is needed to achieve proper synchronization. This is tracked in hexops/mach#444
and not fixed by this change.

Fixes hexops/mach#307

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-18 10:33:34 -07:00
Stephen Gutekanst
bac182f804 mach: update to latest mach/gpu API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 23:15:54 -07:00
Stephen Gutekanst
68d5f6fcb1 {mach,gpu}: add autorelease pool
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 17:05:15 -07:00
Stephen Gutekanst
78675470ae {mach,gpu}: rename GPU_BACKEND -> MACH_GPU_BACKEND
Per https://github.com/hexops/mach/issues/376#issuecomment-1170374460

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 14:54:09 -07:00
Ali Chraghi
9a79da0f69 mach: use optional specifier 2022-08-12 10:39:49 -07:00
Stephen Gutekanst
852d232335 mach: update callback context ordering
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
fa1ddc4f0d mach: correctly fire resize event on startup once again
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
5bd33af68f mach: update libmach to use new mach/gpu API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
2b354f9226 mach: add missing errdefer if GLFW window creation fails
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
85ddeeed5c mach: update to latest mach/gpu API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
LeRoyce Pearson
f4611e1414
mach: add headless option (#450)
Co-authored-by: Stephen Gutekanst <stephen.gutekanst@gmail.com>
2022-08-06 19:38:04 -07:00
PiergiorgioZagaria
6eaacde444 gamemode: Add linux_gamemode_is_active field to Platform 2022-07-28 04:12:25 -07:00
PiergiorgioZagaria
d84a32363c gamemode: add check for GAMEMODE env var equal false 2022-07-28 04:12:25 -07:00
PiergiorgioZagaria
76bf493a86 gamemode: Small fix for initLinuxGamemode() 2022-07-28 04:12:25 -07:00
PiergiorgioZagaria
80270a5cfc gamemode: Move gamemode init and deinit into their own functions 2022-07-28 04:12:25 -07:00
PiergiorgioZagaria
509ebd13ab mach: Initial commit for gamemode 2022-07-28 04:12:25 -07:00
Ali Chraghi
b500b04c41 all: build: install tests exe 2022-07-25 11:21:37 -07:00
Stephen Gutekanst
1356cdd838 all: zig fmt
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-22 19:43:41 -07:00
Zachary Huang
8f6273c0d0 libmach: fix small issues and naming conventions 2022-07-20 18:59:29 -07:00
Zachary Huang
5d86314fbb libmach: update API again, factors out init/update/deinit from native.zig main function 2022-07-20 18:59:29 -07:00
Zachary Huang
77aecbe806 libmach: update API, exposes init, update, and deinit functions 2022-07-19 09:32:52 -07:00
Zachary Huang
9ece370059 libmach: initial API bindings for mach core 2022-07-14 22:44:44 -07:00
iddev5
dd0a6064fb mach: Cast window positions (i64) to i32 on window resize 2022-07-09 15:07:55 -07:00