Cogl.Renderer
Description: Reference for Cogl.Renderer

### 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

#### Ancestors

- GObject

#### Descendants

- CoglRendererEGL

#### 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_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_driver_id

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

##### 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_implicit_drm_modifier

No description available.

###### 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.