martinfouilleul
3667ab30e0
[win32, io, wip] add win32 io impl. for open/close/seek/read/write
2023-05-26 16:03:23 +02:00
Martin Fouilleul
c75661cfc9
[io] abstract file io API, using a request/completion model ala io_uring (w/ only synchronous completion for now), and per-platform backend
2023-05-25 20:08:38 +02:00
Martin Fouilleul
ca1caf8537
splitting graphics_surface and graphics_common in order to isolate surface dispatch stuff from orca apps
2023-04-25 22:15:56 +02:00
Martin Fouilleul
346979a21a
[canvas] change surface/canvas APIs to treat canvas a 'just another kind of surface', and split canvas implementation (managed by surface) from canvas _command buffer_ and implicit context (represented by mg_canvas)
2023-04-25 19:13:15 +02:00
Martin Fouilleul
ab150f94f2
separating input state from app, so that it can be used in different threads that main thread. E.g. ui context uses its own input state that can be fed events in a second thread
2023-04-19 11:28:20 +02:00
Martin Fouilleul
794f47b141
abstracting logging for orca
2023-04-18 18:05:54 +02:00
Martin Fouilleul
e9e9ab68c2
base memory allocator and chunked arenas for orca
2023-04-17 18:12:21 +02:00
Martin Fouilleul
592f4cdecd
end of line renormalization
2023-03-05 16:05:43 +01:00
Martin Fouilleul
d21e737733
[wip] re-introducing UI subsystem
2023-03-03 17:13:03 +01:00
martinfouilleul
653ddec978
[win32 surface sharing] win32 surface sharing using window reparenting
2023-03-03 12:41:09 +01:00
martinfouilleul
e58ae3ef52
[surface sharing] first draft for win32 using window reparenting
2023-03-02 09:54:12 +01:00
martinfouilleul
9ea9ea7636
[surface] abstracted child window layer from win32 surfaces
2023-02-21 12:35:22 +01:00
martinfouilleul
2dccfa5547
[win32 surfaces] Backing win32 surfaces with child window and implementing frame/hidding control
2023-02-20 18:34:29 +01:00
Martin Fouilleul
4306d0a01c
back osx surfaces by CALayer
2023-02-20 16:49:44 +01:00
Martin Fouilleul
2232b647ed
reintroduced GLES backend to osx
2023-02-20 11:05:01 +01:00
martinfouilleul
333d3e9f9c
[gles, wip] reintroducing egl surface (for win32 at first)
2023-02-17 18:56:16 +01:00
martinfouilleul
20e425494f
Use a custom GL loader to allow different versions of GL/GLES APIs to co-exist. The loader fills an api struct with GL functions pointers.
...
We have a per-thread pointer to select which api struct is used, and GL functions are pound-defined to call the versions in that struct.
GL/GLES surfaces can use one of the loader function to load their api, and the prepare proc of the surface sets its api as the current one
before gl calls are issued.
2023-02-16 19:35:01 +01:00
martinfouilleul
80ea8db687
[surface/canvas cleanup]
...
- Make build-time and runtime backend selection a bit easier
- Reorganized backend-specific files with slightly more coherent naming scheme
2023-02-10 16:56:10 +01:00
martinfouilleul
5788cdbcda
Desktop opengl 4.3 canvas
2023-02-07 13:24:14 +01:00
martinfouilleul
e59f2b152b
simple gles tiled renderer
2023-02-03 18:44:28 +01:00
martinfouilleul
e0300e9e3c
Fixed indexing in gles_canvas_fragment shaders and fixed native keys buffer
2023-02-01 16:23:51 +01:00
martinfouilleul
c5ae556f22
[wip] win32 gles surface using angle
2023-01-29 01:04:24 +01:00
martinfouilleul
30bd704af2
win32 opengl loader nonsense
2022-12-22 18:24:43 +01:00
Martin Fouilleul
39cfa35bfd
initial commit
2022-08-14 18:19:40 +02:00