diff options
| author | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-03-31 17:59:14 -0400 |
|---|---|---|
| committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-03-31 19:14:56 -0400 |
| commit | f6a73bcf22b4132d107cf52393820d3ee48935d3 (patch) | |
| tree | 536ea372ed50d66664db4cfa76caed1f0596c2de | |
| parent | 59e064f61023bd1d7d8df108f94958ef58b5ecea (diff) | |
| download | mutter-f6a73bcf22b4132d107cf52393820d3ee48935d3.tar.gz | |
cursor: Do less work if we don't have a connection to GBM at all
| -rw-r--r-- | src/core/meta-cursor.c | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/src/core/meta-cursor.c b/src/core/meta-cursor.c index a9bce1999..2a78328ef 100644 --- a/src/core/meta-cursor.c +++ b/src/core/meta-cursor.c @@ -315,36 +315,38 @@ meta_cursor_image_load_from_buffer (MetaCursorTracker *tracker, shm_buffer = wl_shm_buffer_get (buffer); if (shm_buffer) { - int rowstride = wl_shm_buffer_get_stride (shm_buffer); - - switch (wl_shm_buffer_get_format (shm_buffer)) + if (tracker->gbm) { + int rowstride = wl_shm_buffer_get_stride (shm_buffer); + + switch (wl_shm_buffer_get_format (shm_buffer)) + { #if G_BYTE_ORDER == G_BIG_ENDIAN - case WL_SHM_FORMAT_ARGB8888: - gbm_format = GBM_FORMAT_ARGB8888; - break; - case WL_SHM_FORMAT_XRGB8888: - gbm_format = GBM_FORMAT_XRGB8888; - break; + case WL_SHM_FORMAT_ARGB8888: + gbm_format = GBM_FORMAT_ARGB8888; + break; + case WL_SHM_FORMAT_XRGB8888: + gbm_format = GBM_FORMAT_XRGB8888; + break; #else - case WL_SHM_FORMAT_ARGB8888: - gbm_format = GBM_FORMAT_ARGB8888; - break; - case WL_SHM_FORMAT_XRGB8888: - gbm_format = GBM_FORMAT_XRGB8888; - break; + case WL_SHM_FORMAT_ARGB8888: + gbm_format = GBM_FORMAT_ARGB8888; + break; + case WL_SHM_FORMAT_XRGB8888: + gbm_format = GBM_FORMAT_XRGB8888; + break; #endif - default: - g_warn_if_reached (); - gbm_format = GBM_FORMAT_ARGB8888; + default: + g_warn_if_reached (); + gbm_format = GBM_FORMAT_ARGB8888; + } + + meta_cursor_image_load_gbm_buffer (tracker->gbm, + image, + (uint8_t *) wl_shm_buffer_get_data (shm_buffer), + width, height, rowstride, + gbm_format); } - - if (tracker->gbm) - meta_cursor_image_load_gbm_buffer (tracker->gbm, - image, - (uint8_t *) wl_shm_buffer_get_data (shm_buffer), - width, height, rowstride, - gbm_format); } else { |
