Commit Graph

  • 6e2457ded3 Remove incorrect extern defs Ben Visness 2023-07-02 09:24:34 -0500
  • 8925e3e3a0 Actually draw that background image Ben Visness 2023-07-02 07:22:12 -0500
  • c509c612e1 Add dtrace + spall script Ben Visness 2023-07-02 07:09:39 -0500
  • b1c0754d54 Draw text better, make block layout more interesting Ben Visness 2023-07-02 06:27:29 -0500
  • e31f6cd4ec [win32] Fix building the pong sample on win32 martinfouilleul 2023-07-02 12:50:32 +0200
  • 36c75a55dd [win32] Fix first image not being rendered in win32 canvas renderer martinfouilleul 2023-07-02 12:49:45 +0200
  • b61d8868d3 [wip, win32, canvas] wip trying to fix multiple shapes martinfouilleul 2023-07-02 12:26:54 +0200
  • d139619147 Add paddle angle fun time party Ben Visness 2023-07-01 14:33:28 -0500
  • f6e89e6168 Implement basic breakout Ben Visness 2023-07-01 12:02:41 -0500
  • 071e8560d4 A little build script cleanup Ben Visness 2023-06-30 17:14:10 -0500
  • 7628138cee [wip, win32, canvas] tiling in per-path tile queues, then merge (no backprop for now) martinfouilleul 2023-06-30 16:53:36 +0200
  • f0b7cf32a9 [wip, win32, canvas] winding backprop and right crossing segments martinfouilleul 2023-06-30 15:30:05 +0200
  • 0870097262 [wip, win32, canvas] bin segments to screen tile queues martinfouilleul 2023-06-30 15:18:37 +0200
  • 15c54b9385 [wip, win32, canvas] segment setup, non tiled martinfouilleul 2023-06-29 16:43:38 +0200
  • f76ff94c28 [wip, win32, canvas] raster elements directly per pixel martinfouilleul 2023-06-29 15:48:52 +0200
  • 23984e8370 Enable font stuff in Orca Ben Visness 2023-06-28 20:44:13 -0500
  • b792476d36 We can render text! Ben Visness 2023-06-28 20:43:52 -0500
  • b797f187dc [wip, win32, canvas] porting new canvas renderer to opengl martinfouilleul 2023-06-27 18:53:09 +0200
  • b7e3e83f3e Block for events in main thread, and avoid burning the planet Martin Fouilleul 2023-06-26 20:00:29 +0200
  • 21aa1bef68 [win32] honor timeout value in mp_pump_events Martin Fouilleul 2023-06-26 19:59:34 +0200
  • 0d65d19436 str8_to_cstring forwards to str8_push_copy(), which null-terminates the copy Martin Fouilleul 2023-06-26 16:24:12 +0200
  • 0a83f26f7b avoid some unnecessary str8 copies now that arena-allocating string functions null terminate strings Martin Fouilleul 2023-06-26 16:07:44 +0200
  • ffb900d872 String 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 APIs Martin Fouilleul 2023-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 filesystem Martin Fouilleul 2023-06-26 12:24:22 +0200
  • 4e90290add [build] check if wasm3/milepost dependencies are present and build them otherwise Martin Fouilleul 2023-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 on Martin Fouilleul 2023-06-25 17:31:24 +0200
  • d0ad92f0b8 Load images in pong example Martin Fouilleul 2023-06-25 15:36:27 +0200
  • 4175efb7a5 zsh bus error garbage Ben Visness 2023-06-23 21:32:54 -0500
  • 47ea91ef66 Get 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 builtins Martin Fouilleul 2023-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 Fouilleul 2023-06-25 15:34:03 +0200
  • bcf84e0b80 Graphics and memory stuff for stb_image Ben Visness 2023-06-24 10:05:04 -0500
  • 571e8a6f8e Explicitly mark symbols imported from the runtime and avoid --allow-undefined (get compile-time errors on non-runtime-provided undefined symbols) Martin Fouilleul 2023-06-25 20:18:14 +0200
  • bc03887148 Added ORCA_IMPORT to mark symbols imported from the runtime Martin Fouilleul 2023-06-25 20:17:01 +0200
  • 7d4fdf9a75 explicitly mark exported functions in wasm module with ORCA_EXPORT Martin Fouilleul 2023-06-25 19:57:28 +0200
  • 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) Martin Fouilleul 2023-06-23 17:26:19 +0200
  • 28e0a6c88e Add tag to io_op enum, for debugging convenience Martin Fouilleul 2023-06-23 17:24:18 +0200
  • da2b0867a6 explicitly deselect surfaces before using them in the runloop thread Martin Fouilleul 2023-06-23 15:38:13 +0200
  • 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 Martin Fouilleul 2023-06-23 15:32:32 +0200
  • 472d3031b2 [win32, multisurface] putting 'present' call for guest and surface overlay next to each other. martinfouilleul 2023-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... martinfouilleul 2023-06-21 19:27:15 +0200
  • 83f128fb55 [win32, graphics] adding example to test rendering in a secondary thread martinfouilleul 2023-06-21 19:14:56 +0200
  • a09b10714c [win32] debugging multi surface martinfouilleul 2023-06-21 15:49:03 +0200
  • 0366e3d724 [win32, graphics] experiments with multisurface with transparent top-level windows martinfouilleul 2023-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... martinfouilleul 2023-06-21 12:36:05 +0200
  • 3b91d2c622 added multi-surface skeleton example in milepost Martin Fouilleul 2023-06-20 11:48:29 +0200
  • c357da97f6 add multi surface skeleton example Martin Fouilleul 2023-06-20 11:47:02 +0200
  • 26a1af344c Fix rpath in examples Martin Fouilleul 2023-06-20 11:45:59 +0200
  • 93ee157da0 silence clang warning on const qualifiers Martin Fouilleul 2023-06-20 10:26:28 +0200
  • 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!) martinfouilleul 2023-06-19 17:13:56 +0200
  • d9a9215fa8 Fixed bug in mem_arena_alloc when selecting chunk from which to allocate martinfouilleul 2023-06-19 17:09:31 +0200
  • be84dbc6d1 [win32, wip] Pong sample running on win32 (but debug overlay crashes the app). martinfouilleul 2023-06-19 16:19:09 +0200
  • 2fe683b79d fixed include directives to avoid having to pass to much include paths in usage scripts martinfouilleul 2023-06-19 16:16:54 +0200
  • 0312c7c56a add an error popup and quit when the web assembly module can't load martinfouilleul 2023-06-19 14:17:40 +0200
  • 3ba2488541 [win32] runtime compiles, and boots (without loading wasm module) martinfouilleul 2023-06-17 20:10:11 +0200
  • d2c4acf6e2 [wip] adding missing impl for win32 version of orca martinfouilleul 2023-06-17 20:09:25 +0200
  • f5f7c5d8ff [wip, win32] wip implementing missing win32 platform functions martinfouilleul 2023-06-16 20:07:26 +0200
  • e93bf76adc [win32] silence warning about WIN32_LEAN_AND_MEAN redefinitions martinfouilleul 2023-06-16 20:06:02 +0200
  • e884b14b25 [win32] update milepost: fixed include directive to simplify compile commands martinfouilleul 2023-06-16 19:50:54 +0200
  • ea4a19b074 [win32, build] first iteration on build script for win32 martinfouilleul 2023-06-16 19:46:58 +0200
  • 6499bcd2a2 [win32] fixing include directives to avoid having to pass all include dirs to compiler martinfouilleul 2023-06-16 19:48:33 +0200
  • debcffce2a [win32, io] win32 passes files io test with new common io_open_at implementation martinfouilleul 2023-06-16 15:30:48 +0200
  • a64c86ca4e [io, test] Added more file io tests Martin Fouilleul 2023-06-16 11:57:53 +0200
  • ec53cd5416 [io, osx] Reorganize to first compute flags/do checks etc., then enter next path element at a single callsite Martin Fouilleul 2023-06-15 20:01:52 +0200
  • d363c8b607 [wip, osx, io] reorganizing io_open_restrict, fix opening last element with the correct flags Martin Fouilleul 2023-06-15 18:27:33 +0200
  • c71da9e761 [io, win32] separate 'raw io' primitives from the io_open_restrict() implementation martinfouilleul 2023-06-14 19:41:51 +0200
  • 49643520ee [win32, io] adding context struct for use in io_open_path_restrict() martinfouilleul 2023-06-14 18:35:33 +0200
  • 5d2bf9eab9 [wip, win32, io] win32 file io passing tests (still work to do though) martinfouilleul 2023-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) martinfouilleul 2023-06-14 12:03:50 +0200
  • 529a13867c fix git handling of symlink Martin Fouilleul 2023-06-13 20:06:20 +0200
  • 9954b69eda [win32, io] implement IO_OP_OPEN_AT with non-null base directory handle martinfouilleul 2023-06-13 19:53:06 +0200
  • 0bd985efbc [io] restrict rights of files open with file_open_at to the rights of the directory handle Martin Fouilleul 2023-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 Fouilleul 2023-06-12 18:04:59 +0200
  • 37ab5ca5e4 Sanbox file IO to app data directory with IO_OP_OPEN_AT and FILE_OPEN_RESTRICT Martin Fouilleul 2023-06-11 18:21:04 +0200
  • b2d2d2a587 [io] implementing IO_OP_OPEN_AT with FILE_OPEN_RESTRICT flag for sandboxing file access Martin Fouilleul 2023-06-11 18:20:21 +0200
  • a4a3423907 re-integrating file IO with common platform API Martin Fouilleul 2023-06-09 17:28:33 +0200
  • c041b212ab [io] removed IO_OP_POS, wrap IO_OP_SEEK with offset 0 and flag FILE_SEEK_CURRENT instead Martin Fouilleul 2023-05-31 11:38:17 +0200
  • a1b3195ddf [win32, io, wip] add fstat operation (type/size/perms for now, TODO: times) martinfouilleul 2023-05-26 18:01:44 +0200
  • 3667ab30e0 [win32, io, wip] add win32 io impl. for open/close/seek/read/write martinfouilleul 2023-05-26 16:03:23 +0200
  • 41b6128a35 [io] testing abstracted io Martin Fouilleul 2023-05-26 11:40:00 +0200
  • c75661cfc9 [io] abstract file io API, using a request/completion model ala io_uring (w/ only synchronous completion for now), and per-platform backend Martin Fouilleul 2023-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 arena Martin Fouilleul 2023-05-24 20:36:05 +0200
  • ba125ae860 [mem] change scratch arena API to allow using independant scratch for temporary computations and results Martin Fouilleul 2023-05-24 20:17:03 +0200
  • 02014a6ddf update milepost and use new file path functions Martin Fouilleul 2023-05-24 16:31:01 +0200
  • 02bfe587c8 [path] adding platform path functions Martin Fouilleul 2023-05-24 16:27:39 +0200
  • 43c23627e2 Merge branch 'win32' into orca Martin Fouilleul 2023-05-24 15:11:32 +0200
  • db0dadd128 [win32] allow specifying start folder in open/save dialogs martinfouilleul 2023-05-23 17:24:38 +0200
  • ed45d88cfd [win32] add file type filters to open/save dialogs martinfouilleul 2023-05-23 16:43:57 +0200
  • 49de9d0290 [win32] added basic mp_save_dialogue() implementation using COM IFileSaveDialog martinfouilleul 2023-05-23 16:04:49 +0200
  • e24500e18d [win32] added basic mp_open_dialog() implementation using COM IFileOpenDialog martinfouilleul 2023-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) martinfouilleul 2023-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... martinfouilleul 2023-05-23 12:55:57 +0200
  • 83aea67305 [perf_text example] track CMUSerif-Roman.ttf Martin Fouilleul 2023-05-22 10:13:52 +0200
  • 259d381e56 [perf_text example] track CMUSerif-Roman.ttf Martin Fouilleul 2023-05-22 10:10:08 +0200
  • a6a37c874e [win32] adding prototypes for open/save/alert dialogs in win32_app.c martinfouilleul 2023-05-17 16:50:07 +0200
  • 2a01cba026 [ui] Fix ui scrolling martinfouilleul 2023-05-17 15:48:25 +0200
  • 9f7cfd985c [win32] re-introduced perf_text, tiger, and ui examples martinfouilleul 2023-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. martinfouilleul 2023-05-16 18:06:22 +0200
  • b6db5107a3 [win32, wip] simple GL triangle example martinfouilleul 2023-05-12 16:50:14 +0200
  • 52538248d9 [win32, wip] compile and run simple window example martinfouilleul 2023-05-12 16:46:13 +0200