haltest/backend_pp: Remove duplicate code 85/277185/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 1 Jul 2022 09:23:50 +0000 (18:23 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 7 Jul 2022 10:07:18 +0000 (19:07 +0900)
Change-Id: I10a5850fcfafed122c0f055289629e1427c02c53

haltests/src/tc_tdm_backend_pp.cpp

index 5bf3a51..c59b7ed 100644 (file)
@@ -70,6 +70,7 @@ public:
        bool FindLayerOverPrimary(void);
        bool PreparePP(void);
        bool PrepareBuffers(int sw, int sh, tbm_format sf, int dw, int dh, tbm_format df, tdm_transform t);
+       bool TestLayerShow(int sw, int sh, tbm_format sf, int dw, int dh, tbm_format df, tdm_transform t);
        void ShowBuffer(int b);
        void HideLayer(void);
        void DumpBuffer(int b, char *test);
@@ -196,6 +197,51 @@ bool TDMBackendPP::PrepareBuffers(int sw, int sh, tbm_format sf, int dw, int dh,
        return true;
 }
 
+static void
+_tc_tdm_pp_done_cb(tdm_pp *pp, tbm_surface_h src, tbm_surface_h dst, void *user_data)
+{
+       bool *done = (bool*)user_data;
+       if (done)
+               *done = true;
+}
+
+bool TDMBackendPP::TestLayerShow(int sw, int sh, tbm_format sf, int dw, int dh, tbm_format df, tdm_transform t)
+{
+       bool done;
+
+       TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(df));
+
+       DestroyPP();
+       DestroyBuffers();
+
+       TDM_UT_RETURN_FALSE_IF_FAIL(PreparePP() == true);
+
+       TDM_UT_RETURN_FALSE_IF_FAIL(PrepareBuffers(sw, sh, sf,
+                                                               dw, dh, df,
+                                                               t) == true);
+
+       TDM_UT_RETURN_FALSE_IF_FAIL(tdm_pp_set_done_handler(pp, _tc_tdm_pp_done_cb, &done) == TDM_ERROR_NONE);
+
+       for (int b = 0; b < 3; b++) {
+               done = false;
+
+               TDM_UT_RETURN_FALSE_IF_FAIL(tdm_pp_attach(pp, srcbuf[b], dstbuf[b]) == TDM_ERROR_NONE);
+               TDM_UT_RETURN_FALSE_IF_FAIL(tdm_pp_commit(pp) == TDM_ERROR_NONE);
+
+               while (!done)
+                       TDM_UT_RETURN_FALSE_IF_FAIL(tc_tdm_display_handle_events(dpy) == TDM_ERROR_NONE);
+
+#if 0
+               char temp[256];
+               snprintf(temp, sizeof temp, "f%d_b%d", f, b);
+               DumpBuffer(b, temp);
+#endif
+               ShowBuffer(b);
+       }
+
+       return true;
+}
+
 bool TDMBackendPP::FindLayerUnderPrimary(void)
 {
        tdm_error ret;
@@ -495,14 +541,6 @@ TEST_P(TDMBackendPP, PPSetInfoNullOther)
        DestroyPP();
 }
 
-static void
-_tc_tdm_pp_done_cb(tdm_pp *pp, tbm_surface_h src, tbm_surface_h dst, void *user_data)
-{
-       bool *done = (bool*)user_data;
-       if (done)
-               *done = true;
-}
-
 TEST_P(TDMBackendPP, PPSetDoneHandler)
 {
        TDM_UT_SKIP_FLAG(tc_tdm_display_has_pp_capability(dpy));
@@ -591,35 +629,10 @@ TEST_P(TDMBackendPP, PPConvertUnderlay)
                EXPECT_NE(dst_layer, NULL);
 
        for (int f = 0; f < dst_format_count; f++) {
-               bool done;
-
-               TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(dst_formats[f]));
-
-               EXPECT_EQ(PreparePP(), true);
-
-               EXPECT_EQ(PrepareBuffers(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
-                                                                TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
-                                                                TDM_TRANSFORM_NORMAL), true);
-
-               EXPECT_EQ(tdm_pp_set_done_handler(pp, _tc_tdm_pp_done_cb, &done), TDM_ERROR_NONE);
-
 retry:
-               for (int b = 0; b < 3; b++) {
-                       done = false;
-
-                       EXPECT_EQ(tdm_pp_attach(pp, srcbuf[b], dstbuf[b]), TDM_ERROR_NONE);
-                       EXPECT_EQ(tdm_pp_commit(pp), TDM_ERROR_NONE);
-
-                       while (!done)
-                               EXPECT_EQ(tc_tdm_display_handle_events(dpy), TDM_ERROR_NONE);
-
-#if 0
-                       char temp[256];
-                       snprintf(temp, sizeof temp, "f%d_b%d", f, b);
-                       DumpBuffer(b, temp);
-#endif
-                       ShowBuffer(b);
-               }
+               EXPECT_EQ(TestLayerShow(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
+                                         TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
+                                         TDM_TRANSFORM_NORMAL), true);
 
                TDM_UT_ASK_YNR("* Successed to convert to '%c%c%c%c' buffers and show them to a underlay layer? (output: %d, layer: %d)",
                                           FOURCC_STR(dst_formats[f]), pipe, dst_layer_index);
@@ -627,6 +640,7 @@ retry:
                DestroyPP();
                DestroyBuffers();
        }
+
        if (tc_tdm_output_is_hwc_enable(output) && pp_formats) {
                free(pp_formats);
                pp_formats = NULL;
@@ -643,35 +657,10 @@ TEST_P(TDMBackendPP, PPConvertOverlay)
                TDM_UT_SKIP_FLAG(dst_layer != NULL);
 
        for (int f = 0; f < dst_format_count; f++) {
-               bool done;
-
-               TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(dst_formats[f]));
-
-               EXPECT_EQ(PreparePP(), true);
-
-               EXPECT_EQ(PrepareBuffers(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
-                                                                TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
-                                                                TDM_TRANSFORM_NORMAL), true);
-
-               EXPECT_EQ(tdm_pp_set_done_handler(pp, _tc_tdm_pp_done_cb, &done), TDM_ERROR_NONE);
-
 retry:
-               for (int b = 0; b < 3; b++) {
-                       done = false;
-
-                       EXPECT_EQ(tdm_pp_attach(pp, srcbuf[b], dstbuf[b]), TDM_ERROR_NONE);
-                       EXPECT_EQ(tdm_pp_commit(pp), TDM_ERROR_NONE);
-
-                       while (!done)
-                               EXPECT_EQ(tc_tdm_display_handle_events(dpy), TDM_ERROR_NONE);
-
-#if 0
-                       char temp[256];
-                       snprintf(temp, sizeof temp, "f%d_b%d", f, b);
-                       DumpBuffer(b, temp);
-#endif
-                       ShowBuffer(b);
-               }
+               EXPECT_EQ(TestLayerShow(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
+                                         TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
+                                         TDM_TRANSFORM_NORMAL), true);
 
                TDM_UT_ASK_YNR("* Successed to convert '%c%c%c%c' buffers and show them to a overlay layer? (output: %d, layer: %d)",
                                           FOURCC_STR(dst_formats[f]), pipe, dst_layer_index);
@@ -679,6 +668,7 @@ retry:
                DestroyPP();
                DestroyBuffers();
        }
+
        if (tc_tdm_output_is_hwc_enable(output) && pp_formats) {
                free(pp_formats);
                pp_formats = NULL;
@@ -695,35 +685,10 @@ TEST_P(TDMBackendPP, PPConvertScale)
                EXPECT_NE(dst_layer, NULL);
 
        for (int f = 0; f < dst_format_count; f++) {
-               bool done;
-
-               TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(dst_formats[f]));
-
-               EXPECT_EQ(PreparePP(), true);
-
-               EXPECT_EQ(PrepareBuffers(640, 480, dst_formats[f],
-                                                                mode->hdisplay, mode->vdisplay, dst_formats[f],
-                                                                TDM_TRANSFORM_NORMAL), true);
-
-               EXPECT_EQ(tdm_pp_set_done_handler(pp, _tc_tdm_pp_done_cb, &done), TDM_ERROR_NONE);
-
 retry:
-               for (int b = 0; b < 3; b++) {
-                       done = false;
-
-                       EXPECT_EQ(tdm_pp_attach(pp, srcbuf[b], dstbuf[b]), TDM_ERROR_NONE);
-                       EXPECT_EQ(tdm_pp_commit(pp), TDM_ERROR_NONE);
-
-                       while (!done)
-                               EXPECT_EQ(tc_tdm_display_handle_events(dpy), TDM_ERROR_NONE);
-
-#if 0
-                       char temp[256];
-                       snprintf(temp, sizeof temp, "f%d_b%d", f, b);
-                       DumpBuffer(b, temp);
-#endif
-                       ShowBuffer(b);
-               }
+               EXPECT_EQ(TestLayerShow(640, 480 / 2, dst_formats[f],
+                                         mode->hdisplay, mode->vdisplay, dst_formats[f],
+                                         TDM_TRANSFORM_NORMAL), true);
 
                TDM_UT_ASK_YNR("* Successed to scale '%c%c%c%c' buffers? (output: %d, layer: %d)",
                                           FOURCC_STR(dst_formats[f]), pipe, dst_layer_index);
@@ -731,6 +696,7 @@ retry:
                DestroyPP();
                DestroyBuffers();
        }
+
        if (tc_tdm_output_is_hwc_enable(output) && pp_formats) {
                free(pp_formats);
                pp_formats = NULL;
@@ -749,35 +715,10 @@ TEST_P(TDMBackendPP, PPConvertTransform)
 
        for (int f = 0; f < dst_format_count; f++) {
                for (int t = (int)TDM_TRANSFORM_90; t <= (int)TDM_TRANSFORM_FLIPPED_270; t++) {
-                       bool done;
-
-                       TDM_UT_INFO("* testing for %c%c%c%c", FOURCC_STR(dst_formats[f]));
-
-                       EXPECT_EQ(PreparePP(), true);
-
-                       EXPECT_EQ(PrepareBuffers(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
-                                                                        TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
-                                                                        (tdm_transform)t), true);
-
-                       EXPECT_EQ(tdm_pp_set_done_handler(pp, _tc_tdm_pp_done_cb, &done), TDM_ERROR_NONE);
-
 retry:
-                       for (int b = 0; b < 3; b++) {
-                               done = false;
-
-                               EXPECT_EQ(tdm_pp_attach(pp, srcbuf[b], dstbuf[b]), TDM_ERROR_NONE);
-                               EXPECT_EQ(tdm_pp_commit(pp), TDM_ERROR_NONE);
-
-                               while (!done)
-                                       EXPECT_EQ(tc_tdm_display_handle_events(dpy), TDM_ERROR_NONE);
-
-#if 0
-                               char temp[256];
-                               snprintf(temp, sizeof temp, "f%d_b%d_t%d", f, b, t);
-                               DumpBuffer(b, temp);
-#endif
-                               ShowBuffer(b);
-                       }
+                       EXPECT_EQ(TestLayerShow(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
+                                                 TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[f],
+                                                 (tdm_transform)t), true);
 
                        TDM_UT_ASK_YNR("* Successed to rotate '%c%c%c%c' buffers? (transform: %s, output: %d, layer: %d)",
                                                   FOURCC_STR(dst_formats[f]), tdm_transform_str(t), pipe, dst_layer_index);
@@ -786,6 +727,7 @@ retry:
                        DestroyBuffers();
                }
        }
+
        if (tc_tdm_output_is_hwc_enable(output) && pp_formats) {
                free(pp_formats);
                pp_formats = NULL;
@@ -804,36 +746,10 @@ TEST_P(TDMBackendPP, PPConvertCSC)
 
        for (int df = 0; df < dst_format_count; df++) {
                for (int sf = 0; sf < format_count; sf++) {
-                       bool done;
-
-                       TDM_UT_INFO("* testing for format(%c%c%c%c) -> format(%c%c%c%c)",
-                                               FOURCC_STR(formats[sf]), FOURCC_STR(dst_formats[df]));
-
-                       EXPECT_EQ(PreparePP(), true);
-
-                       EXPECT_EQ(PrepareBuffers(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, formats[sf],
-                                                                        TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[df],
-                                                                        TDM_TRANSFORM_NORMAL), true);
-
-                       EXPECT_EQ(tdm_pp_set_done_handler(pp, _tc_tdm_pp_done_cb, &done), TDM_ERROR_NONE);
-
 retry:
-                       for (int b = 0; b < 3; b++) {
-                               done = false;
-
-                               EXPECT_EQ(tdm_pp_attach(pp, srcbuf[b], dstbuf[b]), TDM_ERROR_NONE);
-                               EXPECT_EQ(tdm_pp_commit(pp), TDM_ERROR_NONE);
-
-                               while (!done)
-                                       EXPECT_EQ(tc_tdm_display_handle_events(dpy), TDM_ERROR_NONE);
-
-#if 0
-                               char temp[256];
-                               snprintf(temp, sizeof temp, "sf%d_df%d_b%d", sf, df, b);
-                               DumpBuffer(b, temp);
-#endif
-                               ShowBuffer(b);
-                       }
+                       EXPECT_EQ(TestLayerShow(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, formats[sf],
+                                                 TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE / 2, dst_formats[df],
+                                                 TDM_TRANSFORM_NORMAL), true);
 
                        TDM_UT_ASK_YNR("* Successed to convert from '%c%c%c%c' to '%c%c%c%c'? (output: %d, layer: %d)",
                                                   FOURCC_STR(formats[sf]), FOURCC_STR(dst_formats[df]), pipe, dst_layer_index);
@@ -848,8 +764,6 @@ retry:
        }
 }
 
-
-
 static void
 _tc_tdm_pp_done_cb2(tdm_pp *pp, tbm_surface_h src, tbm_surface_h dst, void *user_data)
 {