Erase RDP_CURSOR_DEBUG 62/308262/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 15 Mar 2024 01:56:44 +0000 (10:56 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Wed, 20 Mar 2024 10:30:40 +0000 (19:30 +0900)
Change-Id: Ida79d3ca8f8ee0ac08803381e56254115684230d
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/e_mod_rdp.c

index 9b64f36760ed08a2533cf4f0cf46d038c5dcb593..15acaff450c9c814968a5514f1d6f60de01e8f96 100644 (file)
@@ -41,7 +41,6 @@
 #include "e_mod_rdp.h"
 
 #define RDP_DEBUG 0
-#define RDP_CURSOR_DEBUG 0
 
 #define RDP_PATH_LEN 1024
 
@@ -75,9 +74,6 @@ typedef struct _E_Rdp_Peer_Item E_Rdp_Peer_Item;
 static E_Rdp_Config_Data *g_rdp_config;
 static E_Rdp_Backend *g_rdp_backend;
 static unsigned int refresh_raw_frame_id;
-#if RDP_CURSOR_DEBUG
-static E_Pointer_Hook *pointer_hook = NULL;
-#endif
 
 struct _E_Rdp_Output
 {
@@ -650,104 +646,6 @@ _e_rdp_output_image_composite(pixman_image_t *src_img, pixman_image_t *dst_img,
                           dx, dy, dw, dh);
 }
 
-#if RDP_CURSOR_DEBUG
-static void
-_e_rdp_pixman_output_image_cusror_damage_area_get(E_Rdp_Output *output, Eina_Rectangle *rect)
-{
-   if (output->cursor_crop_dst.x == 0 && output->cursor_crop_dst.y == 0 &&
-       output->cursor_crop_dst.w == 0 && output->cursor_crop_dst.h == 0)
-     {
-        output->cursor_damage_rect.x = 0;
-        output->cursor_damage_rect.y = 0;
-        output->cursor_damage_rect.w = output->w;
-        output->cursor_damage_rect.h = output->h;
-     }
-   else
-     {
-        /* x axis */
-        if (output->cursor_crop_dst.x < rect->x)
-          {
-             output->cursor_damage_rect.x = output->cursor_crop_dst.x;
-             output->cursor_damage_rect.w = rect->x - output->cursor_crop_dst.x + rect->w;
-          }
-        else
-          {
-             output->cursor_damage_rect.x = rect->x;
-             output->cursor_damage_rect.w = output->cursor_crop_dst.x - rect->x + output->cursor_crop_dst.w;
-          }
-        if (output->cursor_damage_rect.x + output->cursor_damage_rect.w > output->w)
-          output->cursor_damage_rect.w = output->w - output->cursor_damage_rect.x;
-
-        /* y axis */
-        if (output->cursor_crop_dst.y < rect->y)
-          {
-             output->cursor_damage_rect.y = output->cursor_crop_dst.y;
-             output->cursor_damage_rect.h = rect->y - output->cursor_crop_dst.y + rect->h;
-          }
-        else
-          {
-             output->cursor_damage_rect.y = rect->y;
-             output->cursor_damage_rect.h = output->cursor_crop_dst.y - rect->y + output->cursor_crop_dst.h;
-          }
-        if (output->cursor_damage_rect.y + output->cursor_damage_rect.h > output->h)
-          output->cursor_damage_rect.h = output->h - output->cursor_damage_rect.y;
-     }
-}
-
-static Eina_Bool
-_e_rdp_pixman_output_image_composite_cursor(E_Rdp_Output *output, E_Hwc_Window *hwc_window, pixman_image_t *pix_surface, int pix_w, int pix_h, int primary_w, int primary_h)
-{
-   Eina_Rectangle showing_pos = {0, };
-   Eina_Rectangle dst_pos = {0, };
-   Eina_Rectangle src_crop = {0, };
-   Eina_Rectangle dst_crop = {0, };
-   void *src_ptr = NULL;
-   int src_stride, img_w, img_h;
-   pixman_image_t *pix_shm_src = NULL;
-
-   if (!hwc_window->cursor.buffer)
-     return EINA_FALSE;
-
-   src_ptr = hwc_window->cursor.img_ptr;
-   src_stride = hwc_window->cursor.img_stride;
-   img_w = hwc_window->cursor.img_w;
-   img_h = hwc_window->cursor.img_h;
-
-   pix_shm_src = pixman_image_create_bits(PIXMAN_a8r8g8b8, img_w, img_h, (uint32_t*)src_ptr, src_stride);
-   if (!pix_shm_src)
-     {
-        ERR("create pixman image failed");
-        return EINA_FALSE;
-     }
-
-   _e_rdp_output_image_src_crop_get(hwc_window, &src_crop, &showing_pos, primary_w, primary_h);
-   if (_e_rdp_output_center_rect_get(primary_w, primary_h, pix_w, pix_h, &dst_pos) == EINA_FALSE)
-     {
-        pixman_image_unref(pix_shm_src);
-        return EINA_FALSE;
-     }
-   _e_rdp_output_image_dst_crop_get(hwc_window, img_w, img_h, primary_w, primary_h, &dst_pos, &showing_pos, &dst_crop, 0);
-
-   _e_rdp_output_image_composite(pix_shm_src, pix_surface,
-                                 src_crop.x, src_crop.y, src_crop.w, src_crop.h,
-                                 dst_crop.x, dst_crop.y, dst_crop.w, dst_crop.h,
-                                 EINA_TRUE, 0, 0, 0);
-
-   pixman_image_unref(pix_shm_src);
-
-   output->mouse_x = hwc_window->current.info.dst_pos.x;
-   output->mouse_y = hwc_window->current.info.dst_pos.y;
-
-   _e_rdp_pixman_output_image_cusror_damage_area_get(output, &dst_crop);
-   output->cursor_crop_dst.x = dst_crop.x;
-   output->cursor_crop_dst.y = dst_crop.y;
-   output->cursor_crop_dst.w = dst_crop.w;
-   output->cursor_crop_dst.h = dst_crop.h;
-
-   return EINA_TRUE;
-}
-#endif
-
 static Eina_Bool
 _e_rdp_pixman_output_image_composite(E_Rdp_Output *output, E_Hwc_Window *hwc_window, pixman_image_t *pix_surface, int pix_w, int pix_h, int primary_w, int primary_h)
 {
@@ -986,10 +884,7 @@ _e_rdp_pixman_output_image_get_all(E_Rdp_Output *output, Eina_List *visible_list
 
    if ((output->refresh_count == 0) || (output->buffer_changed_count == 0))
      _e_rdp_backup_buffer_create(output, tbm_surface, &info);
-#if RDP_CURSOR_DEBUG
-   if (hwc_window_cursor != NULL)
-     _e_rdp_pixman_output_image_composite_cursor(output, hwc_window_cursor, pix_surface, info.width, info.height, e_output_w, e_output_h);
-#endif
+
    tbm_surface_unmap(tbm_surface);
 
    output->prepare_tbm_surface = tbm_surface;
@@ -1003,175 +898,6 @@ fail:
    return NULL;
 }
 
-#if RDP_CURSOR_DEBUG
-static Eina_Bool
-_e_rdp_pixman_output_image_erase_cursor(E_Rdp_Output *output)
-{
-   pixman_image_t *pix_backup = NULL;
-   tbm_surface_info_s info, dst_info;
-   pixman_format_code_t pix_format = 0;
-   pixman_region32_t clip_region;
-   pixman_transform_t t;
-   struct pixman_f_transform ft;
-   int err;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->backup_tbm_surface, EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output->showing_tbm_surface, EINA_FALSE);
-   if (output->cursor_crop_dst.w == 0 && output->cursor_crop_dst.h == 0)
-     return EINA_FALSE;
-
-   err = tbm_surface_map(output->showing_tbm_surface, TBM_SURF_OPTION_WRITE, &dst_info);
-   if (err)
-     {
-        ERR("tbm_surface_map failed");
-        return EINA_FALSE;
-     }
-
-   err = tbm_surface_map(output->backup_tbm_surface, TBM_SURF_OPTION_READ, &info);
-   if (err)
-     {
-        ERR("tbm_surface_map failed");
-        tbm_surface_unmap(output->showing_tbm_surface);
-        return EINA_FALSE;
-     }
-
-   pix_format = _e_rdp_pixman_format_get(info.format);
-   if (pix_format == 0)
-     {
-        ERR("not supported format");
-        tbm_surface_unmap(output->showing_tbm_surface);
-        tbm_surface_unmap(output->backup_tbm_surface);
-        return EINA_FALSE;
-     }
-
-   pix_backup = pixman_image_create_bits(pix_format, info.width, info.height, (uint32_t *)info.planes[0].ptr, info.planes[0].stride);
-   if (pix_backup == NULL)
-     {
-        ERR("create pixman image failed");
-        tbm_surface_unmap(output->showing_tbm_surface);
-        tbm_surface_unmap(output->backup_tbm_surface);
-        return EINA_FALSE;
-     }
-
-   pixman_image_ref(output->showing_surface);
-
-   pixman_region32_init_rect(&clip_region, output->cursor_crop_dst.x, output->cursor_crop_dst.y, output->cursor_crop_dst.w, output->cursor_crop_dst.h);
-   pixman_image_set_clip_region32(pix_backup, &clip_region);
-   pixman_image_set_source_clipping(pix_backup, TRUE);
-   pixman_image_set_has_client_clip (pix_backup, TRUE);
-   pixman_f_transform_init_identity(&ft);
-   pixman_f_transform_scale(&ft, NULL, 1, 1);
-   pixman_f_transform_translate(&ft, NULL, 0, 0);
-   pixman_transform_from_pixman_f_transform(&t, &ft);
-   pixman_image_set_transform(pix_backup, &t);
-   pixman_image_composite(PIXMAN_OP_OVER, pix_backup, NULL, output->showing_surface, 0, 0, 0, 0, 0, 0, output->w, output->h);
-
-   pixman_image_unref(pix_backup);
-   pixman_image_unref(output->showing_surface);
-   tbm_surface_unmap(output->showing_tbm_surface);
-   tbm_surface_unmap(output->backup_tbm_surface);
-
-   return EINA_TRUE;
-}
-
-static pixman_image_t *
-_e_rdp_pixman_output_image_get_cursor(E_Rdp_Output *output, E_Hwc_Window *hwc_window_cursor, int e_output_w, int e_output_h)
-{
-   tbm_surface_h tbm_surface = NULL;
-   tbm_surface_info_s src_info, info;
-   pixman_image_t *pix_surface = NULL;
-   pixman_format_code_t pix_format = 0;
-   int err;
-   Eina_Bool ret = EINA_FALSE;
-
-   if ((output->mouse_x == hwc_window_cursor->current.info.dst_pos.x) &&
-       (output->mouse_y == hwc_window_cursor->current.info.dst_pos.y))
-     {
-//        INF("same position. do not update. (%dx%d)", output->mouse_x, output->mouse_y);
-        return NULL;
-     }
-
-   if (_e_rdp_pixman_output_image_erase_cursor(output))
-     {
-        err = tbm_surface_map(output->showing_tbm_surface, TBM_SURF_OPTION_WRITE, &info);
-        if (err)
-          ERR("tbm_surface_map failed");
-        else
-          {
-             ret = _e_rdp_pixman_output_image_composite_cursor(output, hwc_window_cursor, output->showing_surface, info.width, info.height, e_output_w, e_output_h);
-             tbm_surface_unmap(output->showing_tbm_surface);
-          }
-
-        if (ret == EINA_TRUE)
-          {
-             output->buffer_reuse = EINA_TRUE;
-             pix_surface = output->showing_surface;
-             output->prepare_tbm_surface = output->showing_tbm_surface;
-          }
-     }
-
-   if (!output->buffer_reuse)
-     {
-        err = tbm_surface_map(output->backup_tbm_surface, TBM_SURF_OPTION_READ, &src_info);
-        if (err)
-          {
-             ERR("tbm_surface_map failed");
-             return NULL;
-          }
-
-        tbm_surface = _e_rdp_tbm_image_create(output, output->w, output->h, 0x00000000);
-        if (tbm_surface == NULL)
-          {
-             ERR("create tbm surface failed");
-             output->prepare_tbm_surface = NULL;
-             tbm_surface_unmap(output->backup_tbm_surface);
-             return NULL;
-          }
-
-       err = tbm_surface_map(tbm_surface, TBM_SURF_OPTION_WRITE, &info);
-       if (err)
-         {
-            ERR("tbm_surface_map failed");
-            tbm_surface_destroy(tbm_surface);
-            output->prepare_tbm_surface = NULL;
-            tbm_surface_unmap(output->backup_tbm_surface);
-            return NULL;
-         }
-
-        _e_rdp_tbm_surface_copy(output->backup_tbm_surface, &src_info, tbm_surface, &info);
-
-        pix_format = _e_rdp_pixman_format_get(info.format);
-        if (pix_format == 0)
-          {
-             ERR("not supported format");
-             tbm_surface_unmap(tbm_surface);
-             tbm_surface_destroy(tbm_surface);
-             output->prepare_tbm_surface = NULL;
-             return NULL;
-          }
-
-        pix_surface = pixman_image_create_bits(pix_format, info.width, info.height, (uint32_t *)info.planes[0].ptr, info.planes[0].stride);
-        if (pix_surface == NULL)
-          {
-             ERR("create pixman image failed");
-             tbm_surface_unmap(tbm_surface);
-             tbm_surface_destroy(tbm_surface);
-             output->prepare_tbm_surface = NULL;
-             return NULL;
-          }
-
-        _e_rdp_pixman_output_image_composite_cursor(output, hwc_window_cursor, pix_surface, info.width, info.height, e_output_w, e_output_h);
-
-        tbm_surface_unmap(tbm_surface);
-        tbm_surface_unmap(output->backup_tbm_surface);
-
-        output->prepare_tbm_surface = tbm_surface;
-     }
-
-   return pix_surface;
-}
-#endif
-
 static pixman_image_t *
 _e_rdp_pixman_output_image_get(E_Rdp_Output *output)
 {
@@ -1201,9 +927,7 @@ _e_rdp_pixman_output_image_get(E_Rdp_Output *output)
         if (hwc_window->is_target) continue;
         if (hwc_window->is_video) continue;
         if (hwc_window->state == E_HWC_WINDOW_STATE_NONE || hwc_window->zpos == -999) continue;
-#if !(RDP_CURSOR_DEBUG)
         if (hwc_window->is_cursor) continue;
-#endif
         if (hwc_window->accepted_state == E_HWC_WINDOW_STATE_CLIENT)
           {
              visible_list = eina_list_append(visible_list, hwc_window);
@@ -1212,15 +936,6 @@ _e_rdp_pixman_output_image_get(E_Rdp_Output *output)
 
         if (hwc_window->accepted_state == E_HWC_WINDOW_STATE_DEVICE)
           visible_list = eina_list_append(visible_list, hwc_window);
-#if RDP_CURSOR_DEBUG
-        if (hwc_window->accepted_state == E_HWC_WINDOW_STATE_CURSOR)
-          {
-             if (hwc_window->cursor.buffer)
-               {
-                  hwc_window_cursor = hwc_window;
-               }
-          }
-#endif
      }
 
    if (eina_list_count(visible_list) == 0)
@@ -1229,18 +944,9 @@ _e_rdp_pixman_output_image_get(E_Rdp_Output *output)
         return pix_surface;
      }
    visible_list = eina_list_sort(visible_list, eina_list_count(visible_list), _e_rdp_cb_hwc_window_sort);
-#if RDP_CURSOR_DEBUG
-   if (output->buffer_changed)
-     {
-        pix_surface = _e_rdp_pixman_output_image_get_all(output, visible_list, hwc_window_cursor, e_output_w, e_output_h);
-     }
-   else if ((output->mouse_moved) && (hwc_window_cursor != NULL))
-     {
-        pix_surface = _e_rdp_pixman_output_image_get_cursor(output, hwc_window_cursor, e_output_w, e_output_h);
-     }
-#else
+
    pix_surface = _e_rdp_pixman_output_image_get_all(output, visible_list, hwc_window_cursor, e_output_w, e_output_h);
-#endif
+
    return pix_surface;
 }
 
@@ -1483,32 +1189,6 @@ _e_rdp_cb_client_uniconify(void *data, int type, void *event)
    return ECORE_CALLBACK_PASS_ON;
 }
 
-#if RDP_CURSOR_DEBUG
-static void
-_e_rdp_cb_pointer_mouse_move(void *data, E_Pointer *ptr)
-{
-   E_Rdp_Backend *b = NULL;
-   E_Rdp_Output *output = NULL;
-
-   EINA_SAFETY_ON_TRUE_RETURN(e_object_is_del(E_OBJECT(ptr)));
-   EINA_SAFETY_ON_FALSE_RETURN(e_comp->pointer);
-
-   b = g_rdp_backend;
-   EINA_SAFETY_ON_NULL_RETURN(b);
-   EINA_SAFETY_ON_NULL_RETURN(b->output);
-   output = b->output;
-
-   if (b->client_count == 0)
-     return;
-
-   if (output->buffer_changed)
-     _e_rdp_set_refresh_timer(output, output->refresh_time);
-   else
-     _e_rdp_set_refresh_timer(output, VGA_TIME);
-   output->mouse_moved = EINA_TRUE;
-}
-#endif
-
 static void
 _e_rdp_canvas_render_post(void *data EINA_UNUSED, Evas *e EINA_UNUSED, void *event_info EINA_UNUSED)
 {
@@ -2392,13 +2072,7 @@ e_rdp_backend_destroy(void)
    EINA_SAFETY_ON_NULL_RETURN(b);
 
    evas_event_callback_del(e_comp->evas, EVAS_CALLBACK_RENDER_POST, _e_rdp_canvas_render_post);
-#if RDP_CURSOR_DEBUG
-   if (pointer_hook)
-     {
-        e_pointer_hook_del(pointer_hook);
-        pointer_hook = NULL;
-     }
-#endif
+
    if (b->handlers)
      {
         EINA_LIST_FREE(b->handlers, h)
@@ -2496,9 +2170,7 @@ e_rdp_backend_create(E_Rdp_Conf_Edd *config)
 
    E_LIST_HANDLER_APPEND(b->handlers, E_EVENT_CLIENT_BUFFER_CHANGE, _e_rdp_cb_client_buffer_change, g_rdp_backend);
    E_LIST_HANDLER_APPEND(b->handlers, E_EVENT_CLIENT_UNICONIFY, _e_rdp_cb_client_uniconify, g_rdp_backend);
-#if RDP_CURSOR_DEBUG
-   pointer_hook = e_pointer_hook_add(E_POINTER_HOOK_MOUSE_MOVE, _e_rdp_cb_pointer_mouse_move, g_rdp_backend);
-#endif
+
    evas_event_callback_add(e_comp->evas, EVAS_CALLBACK_RENDER_POST, _e_rdp_canvas_render_post, NULL);
 
    g_rdp_backend = b;