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.
Instance methods
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_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_set_driver_id
Requests that Cogl should try to use a specific underlying driver for rendering.
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: GObjectClassNo 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.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.