Module Sarek_vulkan.Vulkan_api_pools

Descriptor pools of one launch-batch slot. A set allocated here stays valid until reset, which the owner calls only after the fence of the command buffer that bound the sets has been waited for.

module Device = Vulkan_api_device
type pool = {
  1. handle : Vulkan_types.vk_descriptor_pool;
  2. max_sets : int;
  3. max_descriptors : int;
  4. mutable used_sets : int;
  5. mutable used_descriptors : int;
}
type t = {
  1. mutable pools : pool list;
}
val create : unit -> t
val pool_sets : int
val pool_descriptors : int
val create_pool : Device.t -> max_sets:int -> max_descriptors:int -> pool
val has_room : descriptors:int -> pool -> bool

A set of layout (descriptors storage buffers); another pool is created when none has room.

val reset : Device.t -> t -> unit
val destroy : Device.t -> t -> unit