From: Changyeon Lee Date: Tue, 1 Aug 2023 07:29:38 +0000 (+0900) Subject: e_comp_wl_capture: fix transform buffer format when source buffer is shm X-Git-Tag: accepted/tizen/unified/20230803.034113~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=30002f5fdaf8dc7b7f26e1c662ba4e68dba7fc3c;p=platform%2Fupstream%2Fenlightenment.git e_comp_wl_capture: fix transform buffer format when source buffer is shm if source buffer is shm, tbm_surface of td is null. Change-Id: I149146e62e3ee784486108cc1d0966fa8968ceb0 --- diff --git a/src/bin/e_comp_wl_capture.c b/src/bin/e_comp_wl_capture.c index ab9ab99c1a..eba2583d61 100644 --- a/src/bin/e_comp_wl_capture.c +++ b/src/bin/e_comp_wl_capture.c @@ -706,6 +706,19 @@ _e_capture_image_data_pixman_format_get_from_tbm_surface(tbm_format format) } } +static tbm_format +_e_capture_image_data_tbm_format_get_from_pixman_format(pixman_format_code_t format) +{ + switch(format) + { + case PIXMAN_a8r8g8b8 : return TBM_FORMAT_ARGB8888; + case PIXMAN_x8r8g8b8 : return TBM_FORMAT_XRGB8888; + case PIXMAN_a8b8g8r8 : return TBM_FORMAT_ABGR8888; + case PIXMAN_x8b8g8r8 : return TBM_FORMAT_XBGR8888; + default: return TBM_FORMAT_XRGB8888; + } +} + static pixman_format_code_t _e_capture_image_data_pixman_format_get_from_shm_buffer(uint32_t format) { @@ -859,7 +872,7 @@ _e_capture_image_data_transform(Thread_Data *td, int w, int h) tw = w, th = h; } - transform_surface = tbm_surface_create(tw, th, tbm_surface_get_format(td->tbm_surface)); + transform_surface = tbm_surface_create(tw, th, _e_capture_image_data_tbm_format_get_from_pixman_format(dst_format)); EINA_SAFETY_ON_NULL_GOTO(transform_surface, clean_up); res = tbm_surface_map(transform_surface, TBM_SURF_OPTION_WRITE, &info);