Commit Graph

567 Commits

Author SHA1 Message Date
Martin Fouilleul 756b085c5f [osx] update milepost, more consistent window rect api 2023-07-26 15:58:39 +02:00
Martin Fouilleul 1fd9d17e82 [osx] settle on consistent API for getting/setting window rect 2023-07-26 15:54:01 +02:00
Martin Fouilleul 06b5d30dc6 [osx] correctly pass move/resize contents and frame rect relative to top-left instead of bottom left 2023-07-25 18:05:55 +02:00
Martin Fouilleul 213663a09c [milepost update] use autoresizeMask to resize surfaces to the parent window's client area 2023-07-25 17:02:38 +02:00
Martin Fouilleul e7cce5e36f [osx, surface] use autoresizeMask to resize surfaces to the parent window's client area 2023-07-25 17:02:11 +02:00
martinfouilleul a4ae1cf214 [win32, surface] Fix auto-selecting surface when first creating one ; checking why smooth resize still doesn't work even though we receive events and draw in a separate thread 2023-07-25 15:55:09 +02:00
martinfouilleul 225b506dd4 [win32, surface] automatically resize surfaces to parent window's client area 2023-07-25 14:21:44 +02:00
martinfouilleul 3816e85592 [win32, surface] always resize surface to parent window's client area 2023-07-25 14:18:02 +02:00
martinfouilleul 985aed852a [app] change mp_move_event to mp_mouse_event and mp_frame_event to mp_move_event. Transmit both window frame and contents rect in move/resize events 2023-07-25 13:40:25 +02:00
MartinFouilleul b4893961fd Merge pull request 'Ignore win32 Pong app' (#19) from ignore-pong into main
Reviewed-on: #19
2023-07-16 15:24:39 +00:00
MartinFouilleul 5b40414f52 Merge branch 'main' into ignore-pong 2023-07-16 15:22:39 +00:00
martinfouilleul 86f6eb028c update milepost to fix win32 gl renderer 2023-07-16 17:21:43 +02:00
MartinFouilleul a95de7902f Merge pull request 'Milepost UI demo' (#18) from ilidemi/orca:ui into main
Reviewed-on: #18
2023-07-16 15:19:08 +00:00
martinfouilleul 2a4e90cf9a [win32, canvas] Fix padding of mg_gl_screen_tile 2023-07-16 17:12:34 +02:00
Ben Visness 236fa7f8bd Ignore win32 Pong app 2023-07-15 18:48:47 -05:00
Ilia Demianenko d9ab264f81 Bring back exports 2023-07-15 15:56:02 -07:00
Ilia Demianenko 6c91caddc0 Fix event passing 2023-07-15 15:55:50 -07:00
Martin Fouilleul 8c885223d3 [osx, canvas] revert to 16 pixel wide tiles. 32 gives some benefit for a few large paths, but degrades too much for higher segment counts 2023-07-15 17:32:18 +02:00
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 5fa9c3c34c Fixes 2023-07-15 00:49:41 -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 7450930ae8 minor 2023-07-15 00:20:45 -07: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
Ilia Demianenko bffcaa4abf Feedback 2023-07-15 00:15:07 -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 a683c163cb Merge branch 'main' into ui 2023-07-13 21:53:57 -07:00
Ilia Demianenko 0eefeb3747 UI demo 2023-07-13 21:39:39 -07: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 fd205df8a7 update milepost 2023-07-07 15:48:28 +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 301020ee9a update milepost to fix issue 15 with discord screen sharing 2023-07-07 10:44:16 +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 f0d910e3e5 [win32] compile wasm3 with optimizations (don't forget to re-run `build.bat wasm3` and the `build.bat orca`) 2023-07-06 15:06:34 +02:00