Description

Buffer capabilities

Fields

  • none - Buffer may not have any backing, indicates an invalid buffer.
  • cpu_readable - Can be read from the CPU after map. Reading may still be very slow.
  • cpu_writable - Can be written to by the CPU after map. Writing may still be very slow.
  • renderable - Can be rendered to, ie CPU memory for SW rendering, or an FBO for GL engine.
  • drawable - Can be used as a source of pixels to draw on Evas.
  • cpu_readable_fast - Can be read by the CPU at high speed, ie no need for glReadPixels.
  • cpu_writable_fast - Can be written by the CPU at high speed, ie no need for GPU texture upload.
  • uncached - Backed by uncached memory, ie. slow-ish reads but faster than glReadPixels.

Signature

enum Ector.Buffer.Flag {
    none: 0,
    cpu_readable: 1,
    cpu_writable: 2,
    renderable: 4,
    drawable: 8,
    cpu_readable_fast: 16,
    cpu_writable_fast: 32,
    uncached: 64
}

C signature

typedef enum {
    ECTOR_BUFFER_FLAG_NONE = 0,
    ECTOR_BUFFER_FLAG_CPU_READABLE = 1,
    ECTOR_BUFFER_FLAG_CPU_WRITABLE = 2,
    ECTOR_BUFFER_FLAG_RENDERABLE = 4,
    ECTOR_BUFFER_FLAG_DRAWABLE = 8,
    ECTOR_BUFFER_FLAG_CPU_READABLE_FAST = 16,
    ECTOR_BUFFER_FLAG_CPU_WRITABLE_FAST = 32,
    ECTOR_BUFFER_FLAG_UNCACHED = 64
} Ector_Buffer_Flag;