0d65d19436str8_to_cstring forwards to str8_push_copy(), which null-terminates the copyMartin Fouilleul2023-06-26 16:24:12 +0200
0a83f26f7bavoid some unnecessary str8 copies now that arena-allocating string functions null terminate stringsMartin Fouilleul2023-06-26 16:07:44 +0200
ffb900d872String functions that return str8/16/32 allocated on an arena implicitly zero-terminate strings, so we can avoid one copy when passing to C stdlib APIsMartin Fouilleul2023-06-26 16:06:26 +0200
463e6322a4- Changed mkapp.py flags to embed files and directories. '--resource name' now copies file or directory 'name' into the app's private filesystem '--resource-dir dir' copies all files _inside_ 'dir' into the app's private filesystemMartin Fouilleul2023-06-26 12:24:22 +0200
4e90290add[build] check if wasm3/milepost dependencies are present and build them otherwiseMartin Fouilleul2023-06-26 11:13:09 +0200
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 onMartin Fouilleul2023-06-25 17:31:24 +0200
4175efb7a5zsh bus error garbage
Ben Visness
2023-06-23 21:32:54 -0500
47ea91ef66Get enough of libc added for stb_image, maybe
Ben Visness
2023-06-23 20:38:19 -0500
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 builtinsMartin Fouilleul2023-06-25 17:28:31 +0200
98a67cef72#define MORECORE to orca_mem_grow. Removed builtin memory routine that don't seem to be supported by wasm3 (TODO: investigate that later)Martin Fouilleul2023-06-25 15:34:03 +0200
bcf84e0b80Graphics and memory stuff for stb_image
Ben Visness
2023-06-24 10:05:04 -0500
571e8a6f8eExplicitly mark symbols imported from the runtime and avoid --allow-undefined (get compile-time errors on non-runtime-provided undefined symbols)Martin Fouilleul2023-06-25 20:18:14 +0200
bc03887148Added ORCA_IMPORT to mark symbols imported from the runtimeMartin Fouilleul2023-06-25 20:17:01 +0200
7d4fdf9a75explicitly mark exported functions in wasm module with ORCA_EXPORTMartin Fouilleul2023-06-25 19:57:28 +0200
1f75f40536give 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)Martin Fouilleul2023-06-23 17:26:19 +0200
da2b0867a6explicitly deselect surfaces before using them in the runloop threadMartin Fouilleul2023-06-23 15:38:13 +0200
18c793dbb4When 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 threadMartin Fouilleul2023-06-23 15:32:32 +0200
472d3031b2[win32, multisurface] putting 'present' call for guest and surface overlay next to each other.martinfouilleul2023-06-22 17:28:32 +0200
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...martinfouilleul2023-06-21 19:27:15 +0200
83f128fb55[win32, graphics] adding example to test rendering in a secondary threadmartinfouilleul2023-06-21 19:14:56 +0200
0366e3d724[win32, graphics] experiments with multisurface with transparent top-level windowsmartinfouilleul2023-06-21 15:48:26 +0200
ae7a60b942[win32, graphics, wip] working on multi surface, currently using top-level transparent window and moving them to cover the 'parent' window area...martinfouilleul2023-06-21 12:36:05 +0200
19c82cfe14Fix 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!)martinfouilleul2023-06-19 17:13:56 +0200
d9a9215fa8Fixed bug in mem_arena_alloc when selecting chunk from which to allocatemartinfouilleul2023-06-19 17:09:31 +0200
be84dbc6d1[win32, wip] Pong sample running on win32 (but debug overlay crashes the app).martinfouilleul2023-06-19 16:19:09 +0200
2fe683b79dfixed include directives to avoid having to pass to much include paths in usage scriptsmartinfouilleul2023-06-19 16:16:54 +0200
0312c7c56aadd an error popup and quit when the web assembly module can't loadmartinfouilleul2023-06-19 14:17:40 +0200
ec53cd5416[io, osx] Reorganize to first compute flags/do checks etc., then enter next path element at a single callsiteMartin Fouilleul2023-06-15 20:01:52 +0200
d363c8b607[wip, osx, io] reorganizing io_open_restrict, fix opening last element with the correct flagsMartin Fouilleul2023-06-15 18:27:33 +0200
c71da9e761[io, win32] separate 'raw io' primitives from the io_open_restrict() implementationmartinfouilleul2023-06-14 19:41:51 +0200
49643520ee[win32, io] adding context struct for use in io_open_path_restrict()martinfouilleul2023-06-14 18:35:33 +0200
5d2bf9eab9[wip, win32, io] win32 file io passing tests (still work to do though)martinfouilleul2023-06-14 17:21:31 +0200
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)martinfouilleul2023-06-14 12:03:50 +0200
9954b69eda[win32, io] implement IO_OP_OPEN_AT with non-null base directory handlemartinfouilleul2023-06-13 19:53:06 +0200
0bd985efbc[io] restrict rights of files open with file_open_at to the rights of the directory handleMartin Fouilleul2023-06-13 15:56:19 +0200
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.Martin Fouilleul2023-06-12 18:04:59 +0200
37ab5ca5e4Sanbox file IO to app data directory with IO_OP_OPEN_AT and FILE_OPEN_RESTRICTMartin Fouilleul2023-06-11 18:21:04 +0200
b2d2d2a587[io] implementing IO_OP_OPEN_AT with FILE_OPEN_RESTRICT flag for sandboxing file accessMartin Fouilleul2023-06-11 18:20:21 +0200
c75661cfc9[io] abstract file io API, using a request/completion model ala io_uring (w/ only synchronous completion for now), and per-platform backendMartin Fouilleul2023-05-25 20:08:38 +0200
debffac5c0[path] use new mem_scratch_begin_next() API in path functions, to handle the case where passed-in result arena is itself a scratch arenaMartin Fouilleul2023-05-24 20:36:05 +0200
ba125ae860[mem] change scratch arena API to allow using independant scratch for temporary computations and resultsMartin Fouilleul2023-05-24 20:17:03 +0200
db0dadd128[win32] allow specifying start folder in open/save dialogsmartinfouilleul2023-05-23 17:24:38 +0200
ed45d88cfd[win32] add file type filters to open/save dialogsmartinfouilleul2023-05-23 16:43:57 +0200
49de9d0290[win32] added basic mp_save_dialogue() implementation using COM IFileSaveDialogmartinfouilleul2023-05-23 16:04:49 +0200
e24500e18d[win32] added basic mp_open_dialog() implementation using COM IFileOpenDialogmartinfouilleul2023-05-23 15:59:29 +0200
a54c8b4f4b[win32] alert popup using TaskDialogIndirect(): automatically handles icons, dpi, and text/buttons layout (but requires Vista or higher)martinfouilleul2023-05-23 14:50:31 +0200
f1d8dd1ca9[win32] crappy message box with custom button text. Not DPI aware, doesn't show message box image (eg exclamation/information mark), and has very crude layout...martinfouilleul2023-05-23 12:55:57 +0200
9f7cfd985c[win32] re-introduced perf_text, tiger, and ui examplesmartinfouilleul2023-05-17 15:14:14 +0200
2bec7a633a[win32] reflected changes to canvas surface interface on GL backend. But implementation still uses the (slower) Loop-Blinn + triangle fan method.martinfouilleul2023-05-16 18:06:22 +0200