sig
  type t
  module BCap : sig val caps : t -> Lit.Renderer.Private.Cap.t end
  module BBuf :
    sig
      val sync_cpu_to_gpu : t -> Lit.buf -> unit
      val sync_gpu_to_cpu : t -> Lit.buf -> unit
      val gpu_map :
        t ->
        [ `R | `RW | `W ] ->
        Lit.buf -> ('a, 'b) Gg.Ba.ba_scalar_type -> ('a, 'b) Gg.bigarray
      val gpu_unmap : t -> Lit.buf -> unit
    end
  module BFbuf :
    sig
      val clear : t -> Lit.fbuf -> unit
      val status : t -> Lit.fbuf -> Lit.Fbuf.status
      val read :
        t ->
        Lit.fbuf ->
        Lit.Fbuf.read ->
        Gg.box2 -> first:int -> w_stride:int option -> Lit.buf -> unit
      val blit :
        t ->
        Lit.Fbuf.blit_filter ->
        Lit.Fbuf.blit_buffer list ->
        src:Lit.fbuf -> Gg.box2 -> dst:Lit.fbuf -> Gg.box2 -> unit
    end
  val name : string
  val create :
    ?compiler_msg_parser:Lit.Renderer.Log.compiler_msg_parser ->
    Lit.Renderer.Log.t -> debug:bool -> Gg.size2 -> t
  val size : t -> Gg.size2
  val set_size : t -> Gg.size2 -> unit
  val view : t -> Lit.View.t
  val set_view : t -> Lit.View.t -> unit
  val fbuf : t -> Lit.fbuf
  val set_fbuf : t -> Lit.fbuf -> unit
  val add_op : t -> Lit.op -> unit
  val render : t -> clear:bool -> unit
  val release : t -> unit
end