backend/tdm: Extract buffer code into functions 37/278137/1
authorSeunghun Lee <shiin.lee@samsung.com>
Wed, 2 Mar 2022 02:43:09 +0000 (11:43 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 18 Jul 2022 05:58:08 +0000 (14:58 +0900)
Change-Id: I28a2f6bec27f85f80bcf91f1ce3cad7d4296d940

src/libds/backend/tdm/output.c

index 08b56b5..d3317f3 100644 (file)
@@ -142,6 +142,31 @@ get_or_create_tdm_buffer(struct ds_tdm_backend *backend,
 }
 
 static void
+tdm_buffer_release(struct ds_tdm_buffer *buffer)
+{
+    buffer->released = true;
+    ds_buffer_unlock(buffer->buffer);
+}
+
+static void
+tdm_output_update_front_buffer(struct ds_tdm_output *output)
+{
+    if (output->front_buffer)
+        tdm_buffer_release(output->front_buffer);
+    output->front_buffer = output->back_buffer;
+    output->back_buffer = NULL;
+}
+
+static void
+tdm_output_attach_back_buffer(struct ds_tdm_output *output,
+        struct ds_tdm_buffer *buffer)
+{
+    if (output->back_buffer)
+        tdm_buffer_release(output->back_buffer);
+    output->back_buffer = buffer;
+}
+
+static void
 tdm_output_hwc_commit_handler(tdm_hwc *hwc, unsigned int sequence,
         unsigned int tv_sec, unsigned int tv_usec, void *user_data)
 {
@@ -149,13 +174,7 @@ tdm_output_hwc_commit_handler(tdm_hwc *hwc, unsigned int sequence,
 
     output = user_data;
 
-    if (output->front_buffer) {
-        output->front_buffer->released = true;
-        ds_buffer_unlock(output->front_buffer->buffer);
-    }
-
-    output->front_buffer = output->back_buffer;
-    output->back_buffer = NULL;
+    tdm_output_update_front_buffer(output);
 
     wl_signal_emit(&output->base.events.frame, &output->base);
 }
@@ -209,12 +228,7 @@ tdm_output_iface_commit(struct ds_output *ds_output)
             return false;
         }
 
-        if (output->back_buffer) {
-            output->back_buffer->released = true;
-            ds_buffer_unlock(output->back_buffer->buffer);
-        }
-
-        output->back_buffer = buffer;
+        tdm_output_attach_back_buffer(output, buffer);
 
         ds_dbg("Swap Buffer!!!!!");
     }