}
}
+static bool
+_tc_tdm_hwc_prepare_commit(tdm_hwc *hwc, tdm_hwc_window **hwc_wnds)
+{
+ tdm_error error = TDM_ERROR_NONE;
+ tdm_hwc_window **changed_hwc_window = NULL;
+ tdm_hwc_window_composition *composition_types = NULL;
+ uint32_t num_types;
+ uint32_t get_num = 0;
+
+ for (int w = 0; w < HWC_WIN_NUM; w++) {
+ hwc_wnds[w] = tdm_hwc_create_window(hwc, &error);
+ TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+ error = tdm_hwc_window_set_composition_type(hwc_wnds[w], TDM_HWC_WIN_COMPOSITION_DEVICE);
+ TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+ }
+
+ error = tdm_hwc_validate(hwc, hwc_wnds, HWC_WIN_NUM, &num_types);
+ TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+
+ if (num_types > 0) {
+ changed_hwc_window = (tdm_hwc_window **)calloc(num_types, sizeof(tdm_hwc_window *));
+ composition_types = (tdm_hwc_window_composition *)calloc(num_types, sizeof(tdm_hwc_window_composition));
+
+ get_num = num_types;
+ error = tdm_hwc_get_changed_composition_types(hwc, &get_num, changed_hwc_window, composition_types);
+ TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+ TDM_UT_RETURN_FALSE_IF_FAIL(get_num == num_types);
+
+ error = tdm_hwc_accept_validation(hwc);
+ TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+
+ free(composition_types);
+ free(changed_hwc_window);
+ }
+
+ return true;
+}
+
TEST_P(TDMHwc, AcceptChangesSuccessful)
{
TDM_UT_SKIP_FLAG(has_outputs);
tdm_hwc *hwc = NULL;
tdm_error error = TDM_ERROR_NONE;
tdm_hwc_window *hwc_wnds[HWC_WIN_NUM];
- tdm_hwc_window **changed_hwc_window = NULL;
- tdm_hwc_window_composition *composition_types = NULL;
- uint32_t num_types;
- uint32_t get_num = 0;
for (int o = 0; o < output_count; o++) {
if (tc_tdm_output_is_connected(outputs[o]) == false)
EXPECT_EQ(tc_tdm_output_prepare(dpy, outputs[o], true), true);
hwc = tdm_output_get_hwc(outputs[o], &error);
if (hwc) {
- for (int w = 0; w < HWC_WIN_NUM; w++) {
- hwc_wnds[w] = tdm_hwc_create_window(hwc, &error);
- EXPECT_EQ(TDM_ERROR_NONE, error);
- error = tdm_hwc_window_set_composition_type(hwc_wnds[w], TDM_HWC_WIN_COMPOSITION_DEVICE);
- EXPECT_EQ(TDM_ERROR_NONE, error);
- }
-
- error = tdm_hwc_validate(hwc, hwc_wnds, HWC_WIN_NUM, &num_types);
- EXPECT_EQ(TDM_ERROR_NONE, error);
-
- if (num_types > 0) {
- changed_hwc_window = (tdm_hwc_window **)calloc(num_types, sizeof(tdm_hwc_window *));
- composition_types = (tdm_hwc_window_composition *)calloc(num_types, sizeof(tdm_hwc_window_composition));
-
- get_num = num_types;
- error = tdm_hwc_get_changed_composition_types(hwc, &get_num, changed_hwc_window, composition_types);
- EXPECT_EQ(TDM_ERROR_NONE, error);
- EXPECT_EQ(get_num, num_types);
-
- error = tdm_hwc_accept_validation(hwc);
- EXPECT_EQ(TDM_ERROR_NONE, error);
-
- free(composition_types);
- free(changed_hwc_window);
- }
+ EXPECT_EQ(_tc_tdm_hwc_prepare_commit(hwc, hwc_wnds), true);
for (int w = 0; w < HWC_WIN_NUM; w++)
tdm_hwc_window_destroy(hwc_wnds[w]);
tdm_hwc *hwc = NULL;
tdm_error error = TDM_ERROR_NONE;
tdm_hwc_window *hwc_wnds[HWC_WIN_NUM];
- tdm_hwc_window **changed_hwc_window = NULL;
- tdm_hwc_window_composition *composition_types = NULL;
- uint32_t num_types;
- uint32_t get_num = 0;
for (int o = 0; o < output_count; o++) {
if (tc_tdm_output_is_connected(outputs[o]) == false)
EXPECT_EQ(tc_tdm_output_prepare(dpy, outputs[o], true), true);
hwc = tdm_output_get_hwc(outputs[o], &error);
if (hwc) {
- for (int w = 0; w < HWC_WIN_NUM; w++) {
- hwc_wnds[w] = tdm_hwc_create_window(hwc, &error);
- EXPECT_EQ(TDM_ERROR_NONE, error);
- error = tdm_hwc_window_set_composition_type(hwc_wnds[w], TDM_HWC_WIN_COMPOSITION_DEVICE);
- EXPECT_EQ(TDM_ERROR_NONE, error);
- }
-
- error = tdm_hwc_validate(hwc, hwc_wnds, HWC_WIN_NUM, &num_types);
- EXPECT_EQ(TDM_ERROR_NONE, error);
-
- if (num_types > 0) {
- changed_hwc_window = (tdm_hwc_window **)calloc(num_types, sizeof(tdm_hwc_window *));
- composition_types = (tdm_hwc_window_composition *)calloc(num_types, sizeof(tdm_hwc_window_composition));
-
- get_num = num_types;
- error = tdm_hwc_get_changed_composition_types(hwc, &get_num, changed_hwc_window, composition_types);
- EXPECT_EQ(TDM_ERROR_NONE, error);
- EXPECT_EQ(get_num, num_types);
-
- error = tdm_hwc_accept_validation(hwc);
- EXPECT_EQ(TDM_ERROR_NONE, error);
-
- free(composition_types);
- free(changed_hwc_window);
- }
+ EXPECT_EQ(_tc_tdm_hwc_prepare_commit(hwc, hwc_wnds), true);
error = tdm_hwc_commit(hwc, 0, _tc_tdm_hwc_commit_cb, NULL);
EXPECT_EQ(TDM_ERROR_NONE, error);