|
DrmDriver *(* | create_driver )(int device_fd) |
|
void(* | destroy_driver )(DrmDriver *driver) |
|
void(* | flush_driver )(DrmDriver *driver) |
|
DrmSurfaceBuffer *(* | create_buffer )(DrmDriver *driver, uint32_t drm_format, uint32_t hdr_size, uint32_t width, uint32_t height) |
|
DrmSurfaceBuffer *(* | create_buffer_from_handle )(DrmDriver *driver, uint32_t handle, size_t size) |
|
DrmSurfaceBuffer *(* | create_buffer_from_name )(DrmDriver *driver, uint32_t name) |
|
DrmSurfaceBuffer *(* | create_buffer_from_prime_fd )(DrmDriver *driver, int prime_fd, size_t size) |
|
uint8_t *(* | map_buffer )(DrmDriver *driver, DrmSurfaceBuffer *buffer, int for_scanout) |
|
void(* | unmap_buffer )(DrmDriver *driver, DrmSurfaceBuffer *buffer) |
|
void(* | destroy_buffer )(DrmDriver *driver, DrmSurfaceBuffer *buffer) |
|
int(* | clear_buffer )(DrmDriver *driver, DrmSurfaceBuffer *dst_buf, const GAL_Rect *rc, uint32_t pixel_value) |
|
int(* | check_blit )(DrmDriver *driver, DrmSurfaceBuffer *src_buf, DrmSurfaceBuffer *dst_buf) |
|
int(* | copy_blit )(DrmDriver *driver, DrmSurfaceBuffer *src_buf, const GAL_Rect *src_rc, DrmSurfaceBuffer *dst_buf, const GAL_Rect *dst_rc, ColorLogicalOp logic_op) |
|
int(* | alpha_blit )(DrmDriver *driver, DrmSurfaceBuffer *src_buf, const GAL_Rect *src_rc, DrmSurfaceBuffer *dst_buf, const GAL_Rect *dst_rc, uint8_t alpha) |
|
int(* | key_blit )(DrmDriver *driver, DrmSurfaceBuffer *src_buf, const GAL_Rect *src_rc, DrmSurfaceBuffer *dst_buf, const GAL_Rect *dst_rc, uint32_t color_key) |
|
int(* | alpha_key_blit )(DrmDriver *driver, DrmSurfaceBuffer *src_buf, const GAL_Rect *src_rc, DrmSurfaceBuffer *dst_buf, const GAL_Rect *dst_rc, uint8_t alpha, uint32_t color_key) |
|
int(* | alpha_pixel_blit )(DrmDriver *driver, DrmSurfaceBuffer *src_buf, const GAL_Rect *src_rc, DrmSurfaceBuffer *dst_buf, const GAL_Rect *dst_rc, ColorBlendMethod blend_method) |
|
The structure type defines the operations for a DRM driver.
Definition at line 163 of file exstubs.h.
DrmSurfaceBuffer*(* create_buffer(DrmDriver *driver, uint32_t drm_format, uint32_t hdr_size, uint32_t width, uint32_t height) |
This operation creates a surface buffer with the specified pixel format, header size, width, and height. If succeed, a valid DrmSurfaceBuffer object will be returned; NULL on error. Note that the field of buff
of the DrmSurfaceBuffer object is NULL until the map_buffer was called.
- Note
- The driver must implement this operation and fill all fields of the new DrmSurfaceBuffer object.
Definition at line 195 of file exstubs.h.
uint8_t*(* map_buffer(DrmDriver *driver, DrmSurfaceBuffer *buffer, int for_scanout) |
This operation maps the buffer into the current process's virtual memory space, and returns the virtual address. If failed, it returns NULL.
When for_scanout is not zero, the buffer will be used for scan out frame buffer.
- Note
- The driver must implement this operation. The driver must set a valid value for buff field of the DrmSurfaceBuffer object on success.
Definition at line 247 of file exstubs.h.