Functions that deal with setup of framebuffers.
More...
|
EAPI Ecore_Drm2_Fb * | ecore_drm2_fb_create (int fd, int width, int height, int depth, int bpp, unsigned int format) |
| Create a new framebuffer object. More...
|
|
EAPI void * | ecore_drm2_fb_data_get (Ecore_Drm2_Fb *fb) |
| Get a framebuffer's mmap'd data. More...
|
|
EAPI unsigned int | ecore_drm2_fb_size_get (Ecore_Drm2_Fb *fb) |
| Get a framebuffer's size. More...
|
|
EAPI unsigned int | ecore_drm2_fb_stride_get (Ecore_Drm2_Fb *fb) |
| Get a framebuffer's stride. More...
|
|
EAPI void | ecore_drm2_fb_dirty (Ecore_Drm2_Fb *fb, Eina_Rectangle *rects, unsigned int count) |
| Mark regions of a framebuffer as dirty. More...
|
|
EAPI int | ecore_drm2_fb_flip (Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output) |
| Schedule a pageflip to the given Ecore_Drm2_Fb. More...
|
|
EAPI Eina_Bool | ecore_drm2_fb_flip_complete (Ecore_Drm2_Output *output) |
| Must be called by a page flip handler when the flip completes. More...
|
|
EAPI Eina_Bool | ecore_drm2_fb_busy_get (Ecore_Drm2_Fb *fb) |
| Return the Ecore_Drm2_Fb's busy status. More...
|
|
EAPI Eina_Bool | ecore_drm2_fb_release (Ecore_Drm2_Output *o, Eina_Bool panic) |
| Try to force a framebuffer release for an output. More...
|
|
EAPI Ecore_Drm2_Fb * | ecore_drm2_fb_dmabuf_import (int fd, int width, int height, int depth, int bpp, unsigned int format, unsigned int strides[4], int dmabuf_fd[4], int dmabuf_fd_count) |
| Import a dmabuf object as a Framebuffer. More...
|
|
EAPI void | ecore_drm2_fb_discard (Ecore_Drm2_Fb *fb) |
| Discard a framebuffer object. More...
|
|
Functions that deal with setup of framebuffers.
◆ ecore_drm2_fb_create()
EAPI Ecore_Drm2_Fb* ecore_drm2_fb_create |
( |
int |
fd, |
|
|
int |
width, |
|
|
int |
height, |
|
|
int |
depth, |
|
|
int |
bpp, |
|
|
unsigned int |
format |
|
) |
| |
Create a new framebuffer object.
- Parameters
-
fd | |
width | |
height | |
depth | |
bpp | |
format | |
- Returns
- A newly create framebuffer object, or NULL on failure
- Since
- 1.18
◆ ecore_drm2_fb_data_get()
EAPI void* ecore_drm2_fb_data_get |
( |
Ecore_Drm2_Fb * |
fb | ) |
|
Get a framebuffer's mmap'd data.
- Parameters
-
- Returns
- The mmap'd area of the framebuffer or NULL on failure
- Since
- 1.18
◆ ecore_drm2_fb_size_get()
EAPI unsigned int ecore_drm2_fb_size_get |
( |
Ecore_Drm2_Fb * |
fb | ) |
|
Get a framebuffer's size.
- Parameters
-
- Returns
- size of the framebuffers' mmap'd data or 0 on failure
- Since
- 1.18
◆ ecore_drm2_fb_stride_get()
EAPI unsigned int ecore_drm2_fb_stride_get |
( |
Ecore_Drm2_Fb * |
fb | ) |
|
Get a framebuffer's stride.
- Parameters
-
- Returns
- stride of the framebuffer or 0 on failure
- Since
- 1.18
◆ ecore_drm2_fb_dirty()
EAPI void ecore_drm2_fb_dirty |
( |
Ecore_Drm2_Fb * |
fb, |
|
|
Eina_Rectangle * |
rects, |
|
|
unsigned int |
count |
|
) |
| |
Mark regions of a framebuffer as dirty.
- Parameters
-
- Since
- 1.18
◆ ecore_drm2_fb_flip()
EAPI int ecore_drm2_fb_flip |
( |
Ecore_Drm2_Fb * |
fb, |
|
|
Ecore_Drm2_Output * |
output |
|
) |
| |
Schedule a pageflip to the given Ecore_Drm2_Fb.
The caller is responsible for running a page flip handler and calling ecore_drm2_fb_flip_complete() when it completes.
- Parameters
-
- Returns
- The result of drmModePageFlip function call
- Since
- 1.18
◆ ecore_drm2_fb_flip_complete()
EAPI Eina_Bool ecore_drm2_fb_flip_complete |
( |
Ecore_Drm2_Output * |
output | ) |
|
Must be called by a page flip handler when the flip completes.
- Parameters
-
- Returns
- Whether there's an undisplayed buffer still in the queue.
- Since
- 1.18
◆ ecore_drm2_fb_busy_get()
Return the Ecore_Drm2_Fb's busy status.
- Parameters
-
- Returns
- The busy status
- Since
- 1.19
◆ ecore_drm2_fb_release()
Try to force a framebuffer release for an output.
This tries to release the next or optionally pending, or current buffer from the output. If successful there will be a release callback to the registered handler, and the fb will no longer be flagged busy.
Releasing buffers committed to scanout will potentially cause flicker, so this is only done when the panic flag is set.
- Parameters
-
output | The output to force release |
panic | Try to release even buffers committed to scanout |
- Returns
- EINA_TRUE if a buffer was released
- Since
- 1.19
◆ ecore_drm2_fb_dmabuf_import()
EAPI Ecore_Drm2_Fb* ecore_drm2_fb_dmabuf_import |
( |
int |
fd, |
|
|
int |
width, |
|
|
int |
height, |
|
|
int |
depth, |
|
|
int |
bpp, |
|
|
unsigned int |
format, |
|
|
unsigned int |
strides[4], |
|
|
int |
dmabuf_fd[4], |
|
|
int |
dmabuf_fd_count |
|
) |
| |
Import a dmabuf object as a Framebuffer.
- Parameters
-
fd | |
width | |
height | |
depth | |
bpp | |
format | |
stride | |
dmabuf_fd | |
dmabuf_fd_count | |
- Returns
- A newly created framebuffer object, or NULL on failure
- Since
- 1.20
References EINA_TRUE.
◆ ecore_drm2_fb_discard()
EAPI void ecore_drm2_fb_discard |
( |
Ecore_Drm2_Fb * |
fb | ) |
|
Discard a framebuffer object.
Decreases the refcount on a fb object. It will be destroyed when it's no longer attached to scanout or otherwise in use.
- Parameters
-
- Since
- 1.20