Martin Fouilleul
eb9db393ba
Merge branch 'gl_texture_fetch_barrier_bit' into main
2023-08-09 10:56:18 +02:00
MartinFouilleul
b6462ca5f8
Merge pull request '[win32] Use wheel scroll lines system setting to determine how much to scroll' ( #7 ) from ilidemi/milepost:win32-scroll-lines into main
...
Reviewed-on: MartinFouilleul/milepost#7
2023-08-09 08:22:45 +00:00
Ilia Demianenko
60083c1f2e
[win32] Use wheel scroll lines system setting to determine how much to scroll
2023-08-08 20:46:48 -07:00
Martin Fouilleul
d01dc832fb
[gles] Support for exposing GLES surfaces to orca apps
...
- update gles surface example
- add mp_dispatch_on_main_thread_sync() to osx threads
- add /experimental:c11atomics to glesTriangle build.bat
- mp_dispatch_on_main_thread_sync: win32 impl
- move mp_dispatch_on_main_thread_sync() on app layer
- configure dlmalloc to not assume contiguity. This allows us to reserve blocks on our end without trashing malloc-owned zones. This way we can add a block to store GL static strings when needed.
- implement deselect interface
- Log an error when an OpenGL function is called while no OpenGL API is selected, or if that function is not part of the selected API
- avoid dispatching calls to image or canvas API if surface is not selected. However, we could later allow it and temporarily select the surface _on behalf of the user_.
- Adding support for format string and optional parameters in assert macros
2023-08-08 22:15:53 +02:00
MartinFouilleul
c103c001f7
Merge pull request 'Python build script updates' ( #6 ) from build-python into main
...
Reviewed-on: MartinFouilleul/milepost#6
2023-08-08 09:32:41 +00:00
Ben Visness
e20a743605
Delete build scripts in favor of parent orca scripts
2023-08-07 23:00:27 -05:00
MartinFouilleul
6221370aa0
Merge pull request 'mp_thread' ( #3 ) from mp_thread into main
...
Reviewed-on: MartinFouilleul/milepost#3
2023-07-31 18:06:54 +00:00
Reuben Dunnington
32ac59cd7e
fix compile error on macos
2023-07-31 09:46:18 -07:00
Reuben Dunnington
6ec113b708
examples: replace pthread with mp_thread
2023-07-30 21:21:25 -07:00
Reuben Dunnington
003af621a0
expose platform_thread.h to users of milepost
2023-07-30 21:08:29 -07:00
Reuben Dunnington
ff5e6e6039
add win32 platform_thread.h implementation
2023-07-30 20:59:00 -07:00
Reuben Dunnington
58210d1884
reworking thread exit code API to make it easier on win32
2023-07-30 20:58:10 -07:00
Reuben Dunnington
baab4036c4
platform thread naming pass
2023-07-30 19:28:15 -07:00
martinfouilleul
a4763d2da8
[gl canvas] add texture memory barrier between raster pass and blit pass
2023-07-29 12:36:55 +02:00
Martin Fouilleul
442d86386e
Merge branch 'batch_multi_image' into main
...
This allows the renderer to use multiple source textures per batch, and thus create less batches (and less draw calls). It also doesn't create a separate batch for non-image fills/strokes. This greatly improves perf especially when interleaving images and solid color commands. When using lots of images though, it is still recommended to use an atlas, which ensures everything fits in a single batch.
2023-07-28 10:48:52 +02:00
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
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
0caeccd3fb
Merge branch 'autoresize_surfaces'
2023-07-26 17:41:50 +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
2c0d3268e7
[win32] update window rect API
2023-07-26 16:50:45 +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
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
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
2a4e90cf9a
[win32, canvas] Fix padding of mg_gl_screen_tile
2023-07-16 17:12:34 +02: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
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