summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBerke Güzel <berke.guzel@gdh.digital>2026-10-14 09:38:31 +0300
committerBerke Güzel <berke.guzel@gdh.digital>2026-10-14 09:38:31 +0300
commit5ef6ca21ab9e1cf4f69254234d190a634b777d52 (patch)
tree974d3797a6d9487e54a811e224bf78a3f52dda85 /docs
parent563b23a33726289387193b85d90fb569631ee05f (diff)
Remove deprecated Cocoa OpenGL and private compatibility APIs
Diffstat (limited to 'docs')
-rw-r--r--docs/getting-started.md9
-rw-r--r--docs/guide.md4
2 files changed, 7 insertions, 6 deletions
diff --git a/docs/getting-started.md b/docs/getting-started.md
index b82dae5..aeed4cd 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -7,14 +7,14 @@ Build with a C23 compiler, Meson 1.6+, and Ninja. Linux backend dependencies are
wayland-client, wayland-cursor, xkbcommon, or x11, xi, xext, xkbcommon (optional
xrandr). Optional egl and wayland-egl enable GL contexts; Vulkan SDK development
files enable the Vulkan bridge. Optional dbus-1 enables Linux desktop services.
-Cocoa requires macOS 14+ and the AppKit, Metal, QuartzCore, OpenGL, and
-UserNotifications system frameworks. Optional Vulkan SDK enables MoltenVK WSI.
+Cocoa requires macOS 14+ and the AppKit, Metal, QuartzCore, and UserNotifications
+system frameworks. Use Metal or MoltenVK for GPU rendering on macOS; Cocoa does
+not provide OpenGL contexts. Optional Vulkan SDK enables MoltenVK WSI.
```sh
meson setup build
meson compile -C build
./build/yasl-hello
-./build/yasl-game
meson test -C build --print-errorlogs
```
@@ -53,7 +53,8 @@ reconnects, and sends DISPLAY_RESTORED. CPU windows need nothing; GPU renderers
their Vulkan surfaces and GL objects on loss and rebuild them on restore.
[hello.c](../examples/hello.c) draws into a CPU surface's pixel buffer on every REFRESH.
-[game.c](../examples/game.c) creates a GL context, binds it, loads procedures, draws,
+On Linux with EGL, `./build/yasl-game` runs [game.c](../examples/game.c), which
+creates a GL context, binds it, loads procedures, draws,
swaps, and rebinds the context after a compositor restart. [tablet.c](../examples/tablet.c) retains a canvas
and draws pressure-sensitive pen/eraser strokes. [notepad.c](../examples/notepad.c)
uses a worker queue, wakeups, clipboard, IME, and its own blink deadline.
diff --git a/docs/guide.md b/docs/guide.md
index d0db071..5435370 100644
--- a/docs/guide.md
+++ b/docs/guide.md
@@ -64,8 +64,8 @@ One presenter attaches to each surface. Incompatible second attachments fail.
key/value attribute list terminated by YASL_GL_END, and an optional sharing surface.
NULL attributes default to GL3.2 core, RGBA8, depth24/stencil8. The surface owns
its context. Bind, load procedures, set swap interval, and swap explicitly.
- GL API support depends on the native driver; Cocoa rejects OpenGL ES/debug contexts
- and supports its native legacy/core profiles.
+ Available on Linux with EGL; GL API support depends on the native driver. Cocoa
+ reports UNSUPPORTED for GL creation; use Metal or MoltenVK.
- CPU: create with YASL_SURFACE_CPU and call `yasl_cpu_present` with premultiplied
numeric 0xAARRGGBB, width/height, byte stride, and optional damage rows containing
x/y/width/height. Extent must match current framebuffer. NULL/zero damage means full;