hwc: send width and height of queue when activate client queue 27/210227/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 15 Jul 2019 09:36:58 +0000 (18:36 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Tue, 16 Jul 2019 08:22:25 +0000 (17:22 +0900)
Change-Id: I3c808d94601d9267a98146fc68e156f1d0467e41

src/bin/e_hwc_window.c
src/bin/e_plane_renderer.c

index bc039b71190f4aa6f056b4b8995e340ca44e9946..46c9eadb503c75bee6443e3ff9c4be638d76266c 100644 (file)
@@ -1231,7 +1231,7 @@ e_hwc_window_activate(E_Hwc_Window *hwc_window, E_Hwc_Window_Queue *queue)
 {
    struct wayland_tbm_client_queue *cqueue = NULL;
    int flush = 0;
-   int queue_size = 0;
+   int queue_size = 0, queue_width = 0, queue_height = 0;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window->ec, EINA_FALSE);
@@ -1245,11 +1245,14 @@ e_hwc_window_activate(E_Hwc_Window *hwc_window, E_Hwc_Window_Queue *queue)
      {
         flush = 1;
         queue_size = tbm_surface_queue_get_size(queue->tqueue);
+        queue_width = tbm_surface_queue_get_width(queue->tqueue);
+        queue_height = tbm_surface_queue_get_height(queue->tqueue);
      }
 
    cqueue = _get_wayland_tbm_client_queue(hwc_window->ec);
    if (cqueue)
-     wayland_tbm_server_client_queue_activate(cqueue, 0, queue_size, flush);
+     wayland_tbm_server_client_queue_activate(cqueue, 0, queue_size,
+                                              queue_width, queue_height, flush);
 
    EHWINF("Activate -- ehwq:%p {%s}",
           hwc_window->ec, hwc_window->hwc, hwc_window, queue,
index 77b5333a3f149af062a637d01dd93253560092bf..15681494dce8bf9d56afbcc27bc42f7a48e036ab 100644 (file)
@@ -1764,7 +1764,7 @@ e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec)
    if ((plane->output->config.rotation / 90) != transform)
      return EINA_FALSE;
 
-   wayland_tbm_server_client_queue_activate(cqueue, 0, 0, 0);
+   wayland_tbm_server_client_queue_activate(cqueue, 0, 0, 0, 0, 0);
 
    if (renderer_trace_debug)
      ELOGF("E_PLANE_RENDERER", "Activate Renderer(%p)", ec, renderer);
@@ -1948,7 +1948,8 @@ e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec)
                }
           }
 
-        wayland_tbm_server_client_queue_activate(cqueue, 0, renderer->tqueue_size, 1);
+        wayland_tbm_server_client_queue_activate(cqueue, 0, renderer->tqueue_size, renderer->tqueue_width,
+                                                 renderer->tqueue_height, 1);
 
         if (e_comp->hwc_sync_mode_change && !e_comp->hwc_use_detach)
           wayland_tbm_server_client_queue_set_dequeue_cb(cqueue, _e_plane_renderer_exported_surface_dequeue_cb, plane);