sig
  type t
  val name : string
  val create :
    ?log_compiler_parser:Lit.Renderer.Log.compiler_parser ->
    time:(unit -> float) -> 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 frame_begin : t -> unit
  val frame_add : t -> Lit.op -> unit
  val frame_end : t -> unit
  val release : t -> unit
  module Cap :
    sig
      val shader_kinds : t -> Lit.Prog.shader_kind list
      val gl_version :
        t -> [ `GL of int * int * int | `GLES of int * int * int | `Unknown ]
      val glsl_version :
        t -> [ `GL of int * int * int | `GLES of int * int * int | `Unknown ]
      val gl_renderer : t -> string
      val gl_vendor : t -> string
    end
  module Buf :
    sig
      val map :
        t ->
        [ `R | `RW | `W ] ->
        Lit.Buf.t -> ('a, 'b) Bigarray.kind -> ('a, 'b) Lit.bigarray
      val unmap : t -> Lit.Buf.t -> unit
    end
end