Commit Graph

485 Commits

Author SHA1 Message Date
martinfouilleul b05caf984c [gl canvas] allow multiple textures per batch 2023-07-27 20:07:07 +02:00
Martin Fouilleul c983c39f44 [canvas] removed old begin/end/renderBatch function pointers 2023-07-27 18:11:34 +02:00
Martin Fouilleul 203adfd470 [mtl canvas] allow using multiple textures per batch 2023-07-27 16:46:10 +02:00
Martin Fouilleul 0c8e698b6e [mtl canvas] don't trigger a new batch when setting the current image to nil (avoids creating a lot of batches when we just alternate between the same image and no image, eg painting multiple instances of the same image with a stroked border) 2023-07-27 16:10:30 +02:00
martinfouilleul 3dd85fdf74 [milepost] update milepost (gl canvas buffers size improvements) 2023-07-27 15:40:56 +02:00
martinfouilleul 392bd3a756 Merge branch 'new_gl_canvas' 2023-07-27 15:38:55 +02:00
martinfouilleul b300cc4d7d [gl canvas] balance dispatch of raster shader along 2 dimensions to avoid hitting the max workgroup count per dimension 2023-07-27 15:24:20 +02:00
martinfouilleul 3c103eeb65 [canvas, gl] compute intermediate glsl structs' sizes according to std430 2023-07-27 14:38:12 +02:00
martinfouilleul ae862b39ba [win32, gl canvas] grow intermediate gl buffers as needed 2023-07-27 12:40:52 +02:00
martinfouilleul a35f0b82b2 [win32, gl canvas] bound check intermediate buffers in canvas shaders 2023-07-27 12:11:30 +02:00
martinfouilleul 680deb35b0 [win32, gl canvas] grow path and element input buffers as needed 2023-07-27 11:37:39 +02:00
martinfouilleul 23f0d75e20 Merge branch 'autoresize_surfaces' 2023-07-26 17:43:58 +02:00
martinfouilleul 81b700121f update milepost 2023-07-26 17:42:48 +02:00
martinfouilleul 0caeccd3fb Merge branch 'autoresize_surfaces' 2023-07-26 17:41:50 +02:00
martinfouilleul a1068c979a [win32] fix mp_window_center() 2023-07-26 17:38:24 +02:00
martinfouilleul 0785b6b637 [win32]
- Take drop shadown into account when calling SetWindowPos (milepost window frame _excludes_ the drop shadow)
- Fix mp_window_center()
2023-07-26 17:35:58 +02:00
martinfouilleul de28d37d57 [win32] update window rect API and reported window sizes to match macos 2023-07-26 16:55:04 +02:00
martinfouilleul 2c0d3268e7 [win32] update window rect API 2023-07-26 16:50:45 +02:00
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