martinfouilleul
bff9a3618f
[win32, canvas] use glBindBufferBase() and explicit uniform offset to avoid glBindBufferRange() implementation-specific alignment issues
2023-07-15 15:29:45 +02:00
Martin Fouilleul
6a3cb83932
Merge branch 'ilidemi-orca_ui' into main
2023-07-15 11:42:48 +02:00
Ilia Demianenko
e7982b7786
Just use MP_KEYMOD_MAIN_MODIFIER instead of OS_COPY_PASTE_MOD
2023-07-15 00:54:57 -07:00
Ilia Demianenko
e6c271c3f5
minor
2023-07-15 00:35:02 -07:00
ilidemi
2214974804
Merge branch 'main' into orca_ui
2023-07-15 07:21:41 +00:00
Ilia Demianenko
445325d45f
Merge branch 'orca_ui' of git.handmade.network:ilidemi/milepost into orca_ui
2023-07-15 00:17:53 -07:00
Ilia Demianenko
40906bb852
Feedback
2023-07-15 00:15:12 -07:00
martinfouilleul
782b7f54ae
[win32, canvas] only dispatch raster shader for tiles touched by paths
2023-07-14 18:58:18 +02:00
martinfouilleul
1c244c2a00
[win32, canvas] only sample coverage at 8x and source textures at 2x, and accumulate in a single color value per pixel
2023-07-14 17:37:33 +02:00
Martin Fouilleul
ec0f22a9d8
[osx, canvas] keep op buffer size to 4<<20 for now
2023-07-14 16:28:45 +02:00
ilidemi
ff1460e629
Merge branch 'main' into orca_ui
2023-07-14 04:57:45 +00:00
Ilia Demianenko
8bfbabd877
Orca UI support
2023-07-13 21:36:31 -07:00
martinfouilleul
660ad33ddc
[win32, gl canvas] persistently map input buffers
2023-07-12 15:54:02 +02:00
martinfouilleul
6944325014
[win32, canvas] rolling input buffers
2023-07-12 15:52:48 +02:00
martinfouilleul
684543ec15
[gl canvas] fix implicit boolean conversion error on some drivers
2023-07-12 15:46:52 +02:00
Martin Fouilleul
025ebd91d5
[osx, canvas]
...
- Pass buffer lengths to kernels and bound check when allocating from buffers
- Dynamically compute/guess size of intermediate buffers and grow if needed
2023-07-11 20:03:17 +02:00
Martin Fouilleul
98a516ff0a
[osx, canvas] start with small input buffers and grow them as needed
2023-07-11 17:00:17 +02:00
Martin Fouilleul
fc07a0d018
[osx, canvas] use 32 pixels-wide tiles
2023-07-11 14:27:15 +02:00
Martin Fouilleul
9e8a0f5f69
[osx, canvas] Only dispatch raster shader for tiles that are overlapped by at least one path.
2023-07-10 20:20:18 +02:00
Martin Fouilleul
bfc7530bcf
[osx, canvas]
...
- Only super sample coverage at 8x rate, and accumulate pixel color in a single color value
- Super sample images at lower 2x rate
- Cull tiles outside clip
- Bypass coverage for fully covered tiles
2023-07-10 17:52:34 +02:00
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