use virtual_output_hwc_target_bo_default flag.
if set to 1, use TBM_BO_DEFAULT flag to make hwc target buffer queue.
if set to 0 or not defined, use TBM_BO_SCANOUT flag.
Change-Id: I3b6a9fca456f49cbe67bebab9ad614336f35552f
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
tdm_error ret = TDM_ERROR_NONE;
int output_count = 0;
int virtual = 0;
+ int virtual_hwc_target_buffer_bo_default = 0;
if (private_display->pp_module) {
ret = _tdm_display_update_caps_pp(private_display->pp_module,
ret = _tdm_display_load_module_with_file(private_display, TDM_VIRTUAL_MODULE);
TDM_GOTO_IF_FAIL(ret == TDM_ERROR_NONE, failed_update);
TDM_GOTO_IF_FAIL(private_display->virtual_module != NULL, failed_update);
+
+ virtual_hwc_target_buffer_bo_default = tdm_config_get_int(TDM_CONFIG_KEY_GENERAL_VIRTUAL_OUTPUT_HWC_TARGET_BO_DEFAULT, 0);
+ if (virtual_hwc_target_buffer_bo_default)
+ private_display->virtual_module->use_default_type_bo = 1;
}
return TDM_ERROR_NONE;
*/
#define TDM_CONFIG_KEY_GENERAL_VIRTUAL_OUTPUT "general:virtual_output"
+/* set the tdm virtual output hwc target buffer bo to default. [0(unset), 1(set)]
+ * default: 0
+ * ex) 1
+ */
+#define TDM_CONFIG_KEY_GENERAL_VIRTUAL_OUTPUT_HWC_TARGET_BO_DEFAULT "general:virtual_output_hwc_target_bo_default"
+
/*** debug keys **************************************************************/
return NULL;
}
+ if (func_voutput->voutput_set_target_buffer_queue_flag) {
+ if (private_module->use_default_type_bo == 1)
+ func_voutput->voutput_set_target_buffer_queue_flag(voutput_backend, TBM_BO_DEFAULT);
+ else
+ func_voutput->voutput_set_target_buffer_queue_flag(voutput_backend, TBM_BO_SCANOUT);
+ }
+
ret = tdm_display_update_output(private_display->current_module, output_backend);
if (ret != TDM_ERROR_NONE) {
TDM_ERR("tdm_display_update_output fail");
int fd;
tdm_event_loop_source *event_source;
+
+ /* backend virtual output target buffer type default set for hwc */
+ int use_default_type_bo;
};
struct _tdm_private_display {