Remove unecessary code
With the fresh new Evas Wayland SHM engine, it is not necessary to handle with surface damage and commits anymore. Also let's not synchronize the rendering with the compositor, because we want to be as fast as possible for the sake of the benchmark. Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com> SVN revision: 83329
This commit is contained in:
parent
dce0fb3159
commit
81676f217d
|
@ -18,12 +18,9 @@ struct _engine_wayland_shm_display
|
||||||
struct wl_registry *registry;
|
struct wl_registry *registry;
|
||||||
struct wl_compositor *compositor;
|
struct wl_compositor *compositor;
|
||||||
struct wl_surface *surface;
|
struct wl_surface *surface;
|
||||||
struct wl_callback *frame_callback;
|
|
||||||
struct wl_shell *shell;
|
struct wl_shell *shell;
|
||||||
struct wl_shell_surface *shell_surface;
|
struct wl_shell_surface *shell_surface;
|
||||||
struct wl_shm *shm;
|
struct wl_shm *shm;
|
||||||
/* struct wl_buffer *buffer; */
|
|
||||||
void *data;
|
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
};
|
};
|
||||||
|
@ -43,14 +40,6 @@ static const struct wl_registry_listener _registry_listener =
|
||||||
NULL, /* global_remove */
|
NULL, /* global_remove */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Frame handler */
|
|
||||||
static void _surface_frame_handle_complete(void *data, struct wl_callback *callback, uint32_t time __UNUSED__);
|
|
||||||
static const struct wl_callback_listener _surface_frame_listener =
|
|
||||||
{
|
|
||||||
_surface_frame_handle_complete,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* API
|
* API
|
||||||
*/
|
*/
|
||||||
|
@ -85,13 +74,6 @@ engine_wayland_shm_args(const char *engine __UNUSED__, int width, int height)
|
||||||
wl.surface = wl_compositor_create_surface(wl.compositor);
|
wl.surface = wl_compositor_create_surface(wl.compositor);
|
||||||
wl.shell_surface = engine_wayland_create_shell_surface(wl.shell, wl.surface, "Expedite Wayland SHM");
|
wl.shell_surface = engine_wayland_create_shell_surface(wl.shell, wl.surface, "Expedite Wayland SHM");
|
||||||
|
|
||||||
/* _engine_wayland_shm_create_buffer(width, height); */
|
|
||||||
|
|
||||||
/* assert(wl.buffer != NULL); */
|
|
||||||
/* assert(wl.data != NULL); */
|
|
||||||
|
|
||||||
/* wl_surface_attach(wl.surface, wl.buffer, 0, 0); */
|
|
||||||
|
|
||||||
einfo->info.wl_shm = wl.shm;
|
einfo->info.wl_shm = wl.shm;
|
||||||
einfo->info.wl_surface = wl.surface;
|
einfo->info.wl_surface = wl.surface;
|
||||||
if (!evas_engine_info_set(evas, (Evas_Engine_Info *) einfo))
|
if (!evas_engine_info_set(evas, (Evas_Engine_Info *) einfo))
|
||||||
|
@ -103,25 +85,19 @@ engine_wayland_shm_args(const char *engine __UNUSED__, int width, int height)
|
||||||
wl.width = width;
|
wl.width = width;
|
||||||
wl.height = height;
|
wl.height = height;
|
||||||
|
|
||||||
_surface_frame_handle_complete(NULL, NULL, 0);
|
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
engine_wayland_shm_loop(void)
|
engine_wayland_shm_loop(void)
|
||||||
{
|
{
|
||||||
assert(wl_display_dispatch(wl.display) != -1);
|
assert(wl_display_dispatch_pending(wl.display) != -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
engine_wayland_shm_shutdown(void)
|
engine_wayland_shm_shutdown(void)
|
||||||
{
|
{
|
||||||
if (wl.frame_callback)
|
|
||||||
wl_callback_destroy(wl.frame_callback);
|
|
||||||
|
|
||||||
/* wl_buffer_destroy(wl.buffer); */
|
|
||||||
wl_shell_surface_destroy(wl.shell_surface);
|
wl_shell_surface_destroy(wl.shell_surface);
|
||||||
wl_surface_destroy(wl.surface);
|
wl_surface_destroy(wl.surface);
|
||||||
wl_shm_destroy(wl.shm);
|
wl_shm_destroy(wl.shm);
|
||||||
|
@ -147,57 +123,3 @@ _registry_handle_global(void *data __UNUSED__, struct wl_registry *registry, uns
|
||||||
else if (!strcmp(interface, "wl_shm"))
|
else if (!strcmp(interface, "wl_shm"))
|
||||||
wl.shm = wl_registry_bind(registry, id, &wl_shm_interface, 1);
|
wl.shm = wl_registry_bind(registry, id, &wl_shm_interface, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static void */
|
|
||||||
/* _engine_wayland_shm_create_buffer(int width, int height) */
|
|
||||||
/* { */
|
|
||||||
/* struct wl_shm_pool *pool; */
|
|
||||||
/* int fd, size, stride; */
|
|
||||||
/* char tmp[PATH_MAX]; */
|
|
||||||
|
|
||||||
/* stride = width * 4; */
|
|
||||||
/* size = stride * height; */
|
|
||||||
|
|
||||||
/* strcpy(tmp, "/tmp/expedite-wayland_shm-XXXXXX"); */
|
|
||||||
/* if ((fd = mkstemp(tmp)) < 0) */
|
|
||||||
/* { */
|
|
||||||
/* fprintf(stderr, "Could not create temporary file.\n"); */
|
|
||||||
/* return; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* if (ftruncate(fd, size) < 0) */
|
|
||||||
/* { */
|
|
||||||
/* fprintf(stderr, "Could not truncate temporary file.\n"); */
|
|
||||||
/* goto end; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* wl.data = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); */
|
|
||||||
/* if (wl.data == MAP_FAILED) */
|
|
||||||
/* { */
|
|
||||||
/* wl.data = NULL; */
|
|
||||||
/* fprintf(stderr, "mmap failed\n"); */
|
|
||||||
/* goto end; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* pool = wl_shm_create_pool(wl.shm, fd, size); */
|
|
||||||
/* wl.buffer = wl_shm_pool_create_buffer(pool, 0, width, height, stride, WL_SHM_FORMAT_XRGB8888); */
|
|
||||||
/* wl_shm_pool_destroy(pool); */
|
|
||||||
|
|
||||||
/* end: */
|
|
||||||
/* close(fd); */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
static void
|
|
||||||
_surface_frame_handle_complete(void *data __UNUSED__, struct wl_callback *callback __UNUSED__, uint32_t time __UNUSED__)
|
|
||||||
{
|
|
||||||
wl_surface_damage(wl.surface, 0, 0, wl.width, wl.height);
|
|
||||||
|
|
||||||
if (wl.frame_callback)
|
|
||||||
wl_callback_destroy(wl.frame_callback);
|
|
||||||
|
|
||||||
wl.frame_callback = wl_surface_frame(wl.surface);
|
|
||||||
wl_callback_add_listener(wl.frame_callback, &_surface_frame_listener, NULL);
|
|
||||||
|
|
||||||
wl_surface_commit(wl.surface);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue