Martin Fouilleul
4e90290add
[build] check if wasm3/milepost dependencies are present and build them otherwise
2023-06-26 11:13:09 +02:00
Martin Fouilleul
abb37537e9
- Investigating clang's handling of memory builtins and bulk memory code generation in test/bulkmem
...
- Using bulk memory (via builtins) for memset/memcpy/memcmp
- Change build script to build wasm3 with optimizations on
2023-06-25 20:37:22 +02:00
Martin Fouilleul
d0ad92f0b8
Load images in pong example
2023-06-25 20:36:02 +02:00
Ben Visness
4175efb7a5
zsh bus error garbage
2023-06-25 20:33:42 +02:00
Ben Visness
47ea91ef66
Get enough of libc added for stb_image, maybe
2023-06-25 20:33:16 +02:00
Martin Fouilleul
4b491ee94a
- Defined mp_thread_local to nothing for Orca platforms (since this requires atomics, which we don't have yet). This allows use to enable bulk-memory without getting clang backend errors about missing tls and atomics.
...
- Replaced memory copy/fill routines with builtins
2023-06-25 20:29:50 +02:00
Martin Fouilleul
98a67cef72
#define MORECORE to orca_mem_grow. Removed builtin memory routine that don't seem to be supported by wasm3 (TODO: investigate that later)
2023-06-25 20:29:50 +02:00
Ben Visness
bcf84e0b80
Graphics and memory stuff for stb_image
2023-06-25 20:29:50 +02:00
Martin Fouilleul
571e8a6f8e
Explicitly mark symbols imported from the runtime and avoid --allow-undefined (get compile-time errors on non-runtime-provided undefined symbols)
2023-06-25 20:18:14 +02:00
Martin Fouilleul
bc03887148
Added ORCA_IMPORT to mark symbols imported from the runtime
2023-06-25 20:17:01 +02:00
Martin Fouilleul
7d4fdf9a75
explicitly mark exported functions in wasm module with ORCA_EXPORT
2023-06-25 19:57:28 +02:00
Martin Fouilleul
1f75f40536
give read _and_ write access to data dir capability, so that we can both read and create files inside it. (warning for when we implement delete/rename etc: Write access to a directory shouldn't permit deleting/renaming it, just to delete/rename stuff inside it)
2023-06-23 17:26:19 +02:00
Martin Fouilleul
28e0a6c88e
Add tag to io_op enum, for debugging convenience
2023-06-23 17:24:18 +02:00
Martin Fouilleul
da2b0867a6
explicitly deselect surfaces before using them in the runloop thread
2023-06-23 15:38:13 +02:00
Martin Fouilleul
18c793dbb4
When we call mg_surface_prepare() on a surface, select it in a per-thread handle. Automatically call deselect on the selected handle when preparing another surface. Also have a way to deselect whichever surface is currently selected. This is needed for some backend that explicitly need to be 'unbound' before using them from another thread
2023-06-23 15:32:32 +02:00
martinfouilleul
472d3031b2
[win32, multisurface] putting 'present' call for guest and surface overlay next to each other.
2023-06-22 17:28:32 +02:00
martinfouilleul
238963df0b
[wip, win32] got debug overlay ~working, with a couple hacks: use top-level transparent windows as child windows (see milepost), and create a dummy surface just to deselect normal and debug surface before using them in render thread. TODO: make an API for deselecting those surfaces. Investigate multisurface options more...
2023-06-21 19:27:15 +02:00
martinfouilleul
83f128fb55
[win32, graphics] adding example to test rendering in a secondary thread
2023-06-21 19:14:56 +02:00
martinfouilleul
a09b10714c
[win32] debugging multi surface
2023-06-21 15:49:03 +02:00
martinfouilleul
0366e3d724
[win32, graphics] experiments with multisurface with transparent top-level windows
2023-06-21 15:48:26 +02:00
martinfouilleul
ae7a60b942
[win32, graphics, wip] working on multi surface, currently using top-level transparent window and moving them to cover the 'parent' window area...
2023-06-21 12:36:05 +02:00
Martin Fouilleul
3b91d2c622
added multi-surface skeleton example in milepost
2023-06-20 11:48:29 +02:00
Martin Fouilleul
c357da97f6
add multi surface skeleton example
2023-06-20 11:47:02 +02:00
Martin Fouilleul
26a1af344c
Fix rpath in examples
2023-06-20 11:45:59 +02:00
Martin Fouilleul
93ee157da0
silence clang warning on const qualifiers
2023-06-20 10:26:28 +02:00
martinfouilleul
19c82cfe14
Fix mem_arena_alloc bug in milepost, now debug overlay doesn crash, but doesn't display either (instead it flashes pretty hard, so I disabled it for now. Epilepsy warning if you re-enable it!)
2023-06-19 17:13:56 +02:00
martinfouilleul
d9a9215fa8
Fixed bug in mem_arena_alloc when selecting chunk from which to allocate
2023-06-19 17:09:31 +02:00
martinfouilleul
be84dbc6d1
[win32, wip] Pong sample running on win32 (but debug overlay crashes the app).
2023-06-19 16:51:43 +02:00
martinfouilleul
2fe683b79d
fixed include directives to avoid having to pass to much include paths in usage scripts
2023-06-19 16:16:54 +02:00
martinfouilleul
0312c7c56a
add an error popup and quit when the web assembly module can't load
2023-06-19 14:17:40 +02:00
martinfouilleul
3ba2488541
[win32] runtime compiles, and boots (without loading wasm module)
2023-06-17 20:10:11 +02:00
martinfouilleul
d2c4acf6e2
[wip] adding missing impl for win32 version of orca
2023-06-17 20:09:25 +02:00
martinfouilleul
f5f7c5d8ff
[wip, win32] wip implementing missing win32 platform functions
2023-06-16 20:07:26 +02:00
martinfouilleul
e93bf76adc
[win32] silence warning about WIN32_LEAN_AND_MEAN redefinitions
2023-06-16 20:06:02 +02:00
martinfouilleul
e884b14b25
[win32] update milepost: fixed include directive to simplify compile commands
2023-06-16 19:57:24 +02:00
martinfouilleul
ea4a19b074
[win32, build] first iteration on build script for win32
2023-06-16 19:57:19 +02:00
martinfouilleul
6499bcd2a2
[win32] fixing include directives to avoid having to pass all include dirs to compiler
2023-06-16 19:48:33 +02:00
martinfouilleul
debcffce2a
[win32, io] win32 passes files io test with new common io_open_at implementation
2023-06-16 15:30:48 +02:00
Martin Fouilleul
a64c86ca4e
[io, test] Added more file io tests
2023-06-16 11:57:53 +02:00
Martin Fouilleul
ec53cd5416
[io, osx] Reorganize to first compute flags/do checks etc., then enter next path element at a single callsite
2023-06-15 20:01:52 +02:00
Martin Fouilleul
d363c8b607
[wip, osx, io] reorganizing io_open_restrict, fix opening last element with the correct flags
2023-06-15 18:27:33 +02:00
martinfouilleul
c71da9e761
[io, win32] separate 'raw io' primitives from the io_open_restrict() implementation
2023-06-14 19:41:51 +02:00
martinfouilleul
49643520ee
[win32, io] adding context struct for use in io_open_path_restrict()
2023-06-14 18:35:33 +02:00
martinfouilleul
5d2bf9eab9
[wip, win32, io] win32 file io passing tests (still work to do though)
2023-06-14 17:21:31 +02:00
martinfouilleul
0fa6dcd2ea
[win32, io]
...
- Added str16 functions for dealing with win32 wide char strings
- Added io_open_relative to open a path relative to an already opened handle (with no escape checking)
2023-06-14 12:03:50 +02:00
Martin Fouilleul
529a13867c
fix git handling of symlink
2023-06-13 20:06:20 +02:00
martinfouilleul
9954b69eda
[win32, io] implement IO_OP_OPEN_AT with non-null base directory handle
2023-06-13 19:53:06 +02:00
Martin Fouilleul
0bd985efbc
[io] restrict rights of files open with file_open_at to the rights of the directory handle
2023-06-13 15:56:19 +02:00
Martin Fouilleul
b147aed85c
- Added tests for sandboxing file io with file_open_at() and FILE_OPEN_RESTRICT
...
- Fixed bug in io_open_restrict() that closed the dir file descriptor, making it impossible to use it in subsequent calls.
2023-06-12 18:04:59 +02:00
Martin Fouilleul
37ab5ca5e4
Sanbox file IO to app data directory with IO_OP_OPEN_AT and FILE_OPEN_RESTRICT
2023-06-11 18:21:04 +02:00