Class

CoglRenderer

Description [src]

abstract class Cogl.Renderer : GObject.Object
{
  /* No available fields */
}

Choosing a means to render

A CoglRenderer represents a means to render. It encapsulates the selection of an underlying driver, such as OpenGL or OpenGL-ES.

A CoglRenderer has two states, “unconnected” and “connected”.

After configuration a CoglRenderer can (optionally) be explicitly connected using cogl_renderer_connect() which allows for the handling of connection errors so that fallback configurations can be tried if necessary. Applications that don’t support any fallbacks though can skip using cogl_renderer_connect() and leave Cogl to automatically connect the renderer.

Hierarchy

hierarchy this CoglRenderer ancestor_0 GObject ancestor_0--this

Ancestors

Descendants

Instance methods

cogl_renderer_bind_api
No description available.

cogl_renderer_connect

Connects the configured renderer. Renderer connection isn’t a very active process, it basically just means validating that any given constraint criteria can be satisfied and that a usable driver and window system backend can be found.

cogl_renderer_create_dma_buf

Creates a new CoglFramebuffer with width x height, with pixel format format, and exports the new framebuffer’s DMA buffer handle.

cogl_renderer_get_driver_id

Queries what underlying driver is being used by Cogl.

cogl_renderer_get_implicit_drm_modifier
No description available.

cogl_renderer_get_latest_sync_fd

This function is used to get support for waiting on previous GPU work through sync fds. It will return a sync fd which will signal when the previous work has completed.

cogl_renderer_get_proc_address

Gets a pointer to a given GL or GL ES extension function. This acts as a wrapper around glXGetProcAddress() or whatever is the appropriate function for the current backend.

cogl_renderer_get_winsys

Queries the associated CoglWinsys.

cogl_renderer_get_winsys_data
No description available.

cogl_renderer_is_dma_buf_supported
No description available.

cogl_renderer_is_implicit_drm_modifier
No description available.

cogl_renderer_query_drm_modifiers
No description available.

cogl_renderer_set_custom_winsys
No description available.

cogl_renderer_set_driver_id

Requests that Cogl should try to use a specific underlying driver for rendering.

cogl_renderer_set_winsys_data
No description available.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Cogl.Renderer:driver
No description available.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct CoglRendererClass {
  GObjectClass parent_class;
  void (* bind_api) (
    CoglRenderer* renderer
  );
  gboolean (* load_driver) (
    CoglRenderer* renderer,
    CoglDriverId driver_id,
    GError** error
  );
  GCallback (* get_proc_address) (
    CoglRenderer* renderer,
    const char* name
  );
  gboolean (* connect) (
    CoglRenderer* renderer,
    GError** error
  );
  GArray* (* query_drm_modifiers) (
    CoglRenderer* renderer,
    CoglPixelFormat format,
    CoglDrmModifierFilter filter,
    GError** error
  );
  uint64_t (* get_implicit_drm_modifier) (
    CoglRenderer* renderer
  );
  CoglDmaBufHandle* (* create_dma_buf) (
    CoglRenderer* renderer,
    CoglPixelFormat format,
    uint64_t* modifiers,
    int n_modifiers,
    int width,
    int height,
    GError** error
  );
  gboolean (* is_dma_buf_supported) (
    CoglRenderer* renderer
  );
  void (* update_sync) (
    CoglRenderer* renderer
  );
  int (* get_sync_fd) (
    CoglRenderer* renderer
  );
  
}

No description available.

Class members
parent_class: GObjectClass

No description available.

bind_api: void (* bind_api) ( CoglRenderer* renderer )

No description available.

load_driver: gboolean (* load_driver) ( CoglRenderer* renderer, CoglDriverId driver_id, GError** error )

No description available.

get_proc_address: GCallback (* get_proc_address) ( CoglRenderer* renderer, const char* name )

No description available.

connect: gboolean (* connect) ( CoglRenderer* renderer, GError** error )

No description available.

query_drm_modifiers: GArray* (* query_drm_modifiers) ( CoglRenderer* renderer, CoglPixelFormat format, CoglDrmModifierFilter filter, GError** error )

No description available.

get_implicit_drm_modifier: uint64_t (* get_implicit_drm_modifier) ( CoglRenderer* renderer )

No description available.

create_dma_buf: CoglDmaBufHandle* (* create_dma_buf) ( CoglRenderer* renderer, CoglPixelFormat format, uint64_t* modifiers, int n_modifiers, int width, int height, GError** error )

No description available.

is_dma_buf_supported: gboolean (* is_dma_buf_supported) ( CoglRenderer* renderer )

No description available.

update_sync: void (* update_sync) ( CoglRenderer* renderer )

No description available.

get_sync_fd: int (* get_sync_fd) ( CoglRenderer* renderer )

No description available.

Virtual methods

Cogl.RendererClass.bind_api
No description available.

Cogl.RendererClass.connect

Connects the configured renderer. Renderer connection isn’t a very active process, it basically just means validating that any given constraint criteria can be satisfied and that a usable driver and window system backend can be found.

Cogl.RendererClass.create_dma_buf

Creates a new CoglFramebuffer with width x height, with pixel format format, and exports the new framebuffer’s DMA buffer handle.

Cogl.RendererClass.get_proc_address
No description available.

Cogl.RendererClass.get_sync_fd
No description available.

Cogl.RendererClass.is_dma_buf_supported
No description available.

Cogl.RendererClass.load_driver
No description available.

Cogl.RendererClass.query_drm_modifiers
No description available.

Cogl.RendererClass.update_sync
No description available.