From 5ef6ca21ab9e1cf4f69254234d190a634b777d52 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Wed, 14 Oct 2026 09:38:31 +0300 Subject: Remove deprecated Cocoa OpenGL and private compatibility APIs --- docs/getting-started.md | 9 +++++---- docs/guide.md | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'docs') 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; -- cgit v1.2.3