Ashet OS

namespace: ashet.video

System Calls

syscall enumerate(in ids: ?[]VideoOutputID, out count: usize)

Returns a list of all video outputs.

If ids is null, the total number of available outputs is returned; otherwise, up to ids.len elements are written into the provided array and the number of written elements is returned.

syscall acquire(in output_id: VideoOutputID, out output: VideoOutput)

Acquire exclusive access to a video output.

syscall get_resolution(in output: VideoOutput, out resolution: Size)

Returns the current resolution

syscall get_video_memory(in output: VideoOutput, out memory: VideoMemory)

Returns a pointer to linear video memory, row-major. Pixels rows will have a stride of the current video buffer width. The first pixel in the memory is the top-left pixel.

Asynchronous Operations

async_call WaitForVBlank(in output: VideoOutput)

Completes when the video output has fully scanned out an image and is now performing the v-blanking.

This allows frame-synchronized presentation of video data.