Martin Fouilleul
|
a65b0cc1bb
|
[osx, surface] Query list of available metal devices, and select a discrete GPU if available. This way we avoid calling MTLCreateSystemDefaultDevice() which messes with Discord's screen sharing, while also being able to take GPU frame captures in XCode (which was broken by 9bfae2c4e8 )
|
2023-07-10 11:28:49 +02:00 |
Martin Fouilleul
|
7573c40c56
|
[mtl, canvas] remove unused hull matrix
|
2023-07-07 16:44:32 +02:00 |
martinfouilleul
|
59fdc27ac6
|
[gl, canvas]
- Haul path color and texture sampling outside of per-sample loop
- Pack gl input structs a bit
- Set correct hint flags for glBufferData()
|
2023-07-07 15:45:06 +02:00 |
Martin Fouilleul
|
9bfae2c4e8
|
[osx, metal] Set metal layer's device to layer.preferredDevice instead of calling MTLCreateDefaultSystemDevice(). This fixes issue 15 so we can use Discord's screen sharing while using Orca. This will need to be revisited when we want to actually use a different metal device.
|
2023-07-07 10:41:17 +02:00 |
martinfouilleul
|
806f00417e
|
[win32, canvas] Fix random crash by correctly setting wgl_surface deselect function pointer to mg_wgl_deselect(). Forgot to do it in 18c793db , dumb me.
|
2023-07-06 11:29:57 +02:00 |
martinfouilleul
|
1e34c3406f
|
fixing conflict in gl_canvas
|
2023-07-05 18:07:37 +02:00 |
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 |