Module Kms.Atomic_req

Atomic requests.

type t

A dynamic array of (object_id, property_id, value) items.

val create : unit -> t

create () is a fresh empty array.

val add_property : t -> 'a Properties.metadata -> ('a, 'v) Property.t -> 'v -> unit

add_property t meta prop value appends one item to t.

val commit : ?page_flip_event:nativeint -> ?page_flip_async:bool -> ?test_only:bool -> ?nonblock:bool -> ?allow_modeset:bool -> Device.t -> t -> unit

commit dev t atomically applies all the changes in t.

val duplicate : t -> t

duplicate t is a copy of t.

val merge : t -> t -> unit

merge t arg appends a copy of each element of arg to t.

val get_cursor : t -> int

get_cursor t is the number of allocated items in t.