sig
  module Rbuf :
    sig
      type t = Fbuf.Rbuf.t
      val create : ?multisample:int -> Gg.size2 -> Tex.sample_format -> t
      val multisample : t -> int option
      val size2 : t -> Gg.size2
      val sample_format : t -> Tex.sample_format
      val binfo : t -> Lit.Renderer.Private.BInfo.t
      val set_binfo : t -> Lit.Renderer.Private.BInfo.t -> unit
    end
  type clears = {
    clear_color : Gg.color option;
    clear_depth : float option;
    clear_stencil : int option;
  }
  val clears_default : clears
  type image =
      [ `Rbuf of Rbuf.t | `Tex of int * tex | `Tex_layer of int * int * tex ]
  type attachement =
      [ `Color of int * image
      | `Depth of image
      | `Depth_stencil of image
      | `Stencil of image ]
  type t = fbuf
  val default : fbuf
  val create : ?clears:clears -> attachement list -> fbuf
  val attachements : fbuf -> attachement list
  val is_multisample : fbuf -> bool
  val clears : fbuf -> clears
  val set_clears : fbuf -> clears -> unit
  val clear : renderer -> fbuf -> unit
  type status =
      [ `Complete
      | `Incomplete_attachement
      | `Incomplete_draw_buffer
      | `Incomplete_layer_targets
      | `Incomplete_missing_attachement
      | `Incomplete_multisample
      | `Incomplete_read_buffer
      | `Undefined
      | `Unknown of int
      | `Unsupported ]
  val pp_status : Format.formatter -> status -> unit
  val status : renderer -> fbuf -> status
  type read =
      [ `Color_b of int
      | `Color_g of int
      | `Color_r of int
      | `Color_rgb of int
      | `Color_rgba of int
      | `Depth
      | `Depth_stencil
      | `Stencil ]
  val read :
    ?first:int ->
    ?w_stride:int -> renderer -> fbuf -> read -> Gg.box2 -> buf -> unit
  type blit_buffer = [ `Color | `Depth | `Stencil ]
  type blit_filter = [ `Linear | `Nearest ]
  val blit :
    ?filter:blit_filter ->
    renderer ->
    blit_buffer list -> src:fbuf -> Gg.box2 -> dst:fbuf -> Gg.box2 -> unit
  val binfo : Lit.fbuf -> Lit.Renderer.Private.BInfo.t
  val set_binfo : Lit.fbuf -> Lit.Renderer.Private.BInfo.t -> unit
end