backend: update present interface for partial updates
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
bc3ca92e04
commit
f86d6b7cbd
|
@ -285,7 +285,7 @@ void paint_all_new(session_t *ps, struct managed_win *t, bool ignore_damage) {
|
|||
if (ps->backend_data->ops->present) {
|
||||
// Present the rendered scene
|
||||
// Vsync is done here
|
||||
ps->backend_data->ops->present(ps->backend_data);
|
||||
ps->backend_data->ops->present(ps->backend_data, NULL);
|
||||
}
|
||||
|
||||
#ifdef DEBUG_REPAINT
|
||||
|
|
|
@ -114,8 +114,7 @@ struct backend_operations {
|
|||
void (*prepare)(backend_t *backend_data, const region_t *reg_damage);
|
||||
|
||||
/**
|
||||
* Paint the content of an image onto the (possibly buffered)
|
||||
* target picture.
|
||||
* Paint the content of an image onto the back buffer
|
||||
*
|
||||
* @param backend_data the backend data
|
||||
* @param image_data the image to paint
|
||||
|
@ -134,10 +133,11 @@ struct backend_operations {
|
|||
const region_t *reg_blur, const region_t *reg_visible)
|
||||
attr_nonnull(1, 3, 4, 5);
|
||||
|
||||
/// Present the back buffer onto the screen.
|
||||
/// Present part of the back buffer onto the screen.
|
||||
///
|
||||
/// Optional if the screen is not buffered
|
||||
void (*present)(backend_t *backend_data) attr_nonnull(1);
|
||||
/// @param region part of the screen that should be updated. if NULL, update the
|
||||
/// whole screen
|
||||
void (*present)(backend_t *backend_data, const region_t *region) attr_nonnull(1);
|
||||
|
||||
/**
|
||||
* Bind a X pixmap to the backend's internal image data structure.
|
||||
|
|
|
@ -436,7 +436,7 @@ err:
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static void glx_present(backend_t *base) {
|
||||
static void glx_present(backend_t *base, const region_t *region attr_unused) {
|
||||
struct _glx_data *gd = (void *)base;
|
||||
gl_present(base);
|
||||
glXSwapBuffers(gd->display, gd->target_win);
|
||||
|
|
|
@ -301,7 +301,7 @@ static void deinit(backend_t *backend_data) {
|
|||
free(xd);
|
||||
}
|
||||
|
||||
static void present(backend_t *base) {
|
||||
static void present(backend_t *base, const region_t *region attr_unused) {
|
||||
struct _xrender_data *xd = (void *)base;
|
||||
|
||||
if (xd->vsync) {
|
||||
|
|
Loading…
Reference in New Issue