Ben Visness
ff5a57fb92
Add some convenient rectangle accessors
2023-07-04 16:13:28 -05:00
martinfouilleul
bdb9ddf888
[win32, canvas] added back texture atlasing and fixed incorrect culling of solid tiles when using a source texture
2023-07-04 17:24:41 +02:00
martinfouilleul
5c4c8ce505
[wip, win32, canvas] adding back textures
2023-07-04 15:59:45 +02:00
martinfouilleul
311cef65e8
[wip, win32, canvas] dispatch path setup, segment setup and backprop in batches of GL_MAX_COMPUTE_WORK_GROUP_COUNT elements
2023-07-03 16:16:39 +02:00
martinfouilleul
e24a872fad
[wip, win32, canvas] encode strokes
2023-07-03 15:16:27 +02:00
martinfouilleul
d00024b515
[wip, win32, canvas] added MSAA to new canvas renderer
2023-07-03 15:00:40 +02:00
martinfouilleul
0e6d67f636
[wip, win32, canvas] Cubics segment setup
2023-07-03 14:21:53 +02:00
martinfouilleul
01aa4f838f
[wip, win32, canvas] quadratics
2023-07-03 12:14:21 +02:00
martinfouilleul
899ad4c030
[wip, win32, canvas] Correctly setup path index in segment_setup.glsl
2023-07-03 11:02:04 +02:00
martinfouilleul
36c75a55dd
[win32] Fix first image not being rendered in win32 canvas renderer
2023-07-02 12:49:45 +02:00
martinfouilleul
b61d8868d3
[wip, win32, canvas] wip trying to fix multiple shapes
2023-07-02 12:26:54 +02:00
martinfouilleul
7628138cee
[wip, win32, canvas] tiling in per-path tile queues, then merge (no backprop for now)
2023-06-30 16:53:36 +02:00
martinfouilleul
f0b7cf32a9
[wip, win32, canvas] winding backprop and right crossing segments
2023-06-30 15:30:05 +02:00
martinfouilleul
0870097262
[wip, win32, canvas] bin segments to screen tile queues
2023-06-30 15:18:37 +02:00
martinfouilleul
15c54b9385
[wip, win32, canvas] segment setup, non tiled
2023-06-29 16:43:38 +02:00
martinfouilleul
f76ff94c28
[wip, win32, canvas] raster elements directly per pixel
2023-06-29 15:48:52 +02:00
Ben Visness
23984e8370
Enable font stuff in Orca
2023-06-28 20:44:13 -05:00
martinfouilleul
b797f187dc
[wip, win32, canvas] porting new canvas renderer to opengl
2023-06-27 18:53:09 +02:00
Martin Fouilleul
21aa1bef68
[win32] honor timeout value in mp_pump_events
2023-06-26 19:59:34 +02:00
Martin Fouilleul
0d65d19436
str8_to_cstring forwards to str8_push_copy(), which null-terminates the copy
2023-06-26 16:24:12 +02:00
Martin Fouilleul
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
2023-06-26 16:06:26 +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
bc03887148
Added ORCA_IMPORT to mark symbols imported from the runtime
2023-06-25 20:17:01 +02:00
Martin Fouilleul
28e0a6c88e
Add tag to io_op enum, for debugging convenience
2023-06-23 17:24:18 +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
83f128fb55
[win32, graphics] adding example to test rendering in a secondary thread
2023-06-21 19:14:56 +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
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
martinfouilleul
d9a9215fa8
Fixed bug in mem_arena_alloc when selecting chunk from which to allocate
2023-06-19 17:09:31 +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
d2c4acf6e2
[wip] adding missing impl for win32 version of orca
2023-06-17 20:09:25 +02:00
martinfouilleul
e93bf76adc
[win32] silence warning about WIN32_LEAN_AND_MEAN redefinitions
2023-06-16 20:06:02 +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
b2d2d2a587
[io] implementing IO_OP_OPEN_AT with FILE_OPEN_RESTRICT flag for sandboxing file access
2023-06-11 18:20:21 +02:00