tdm_display_create_pp(tdm_display *dpy, tdm_error *error);
/**
+ * @brief Get the capabilities of a output object.
+ * @param[in] output A output object
+ * @param[out] capabilities The capabilities of a output object
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ */
+tdm_error
+tdm_output_get_capabilities(tdm_output *output,
+ tdm_output_capability *capabilities);
+
+/**
* @brief Get the model information of a output object.
* @param[in] output A output object
* @param[out] maker The output maker.
int max_w; /**< The maximum width. -1 means "not defined" */
int max_h; /**< The maximum height. -1 means "not defined" */
int preferred_align; /**< The prefered align. -1 means "not defined" */
+
+ tdm_output_capability capabilities; /**< The capabilities of output. @since 1.4.1 */
} tdm_caps_output;
/**
} tdm_transform;
/**
+ * @brief The output capability enumeration
+ * @details
+ * @remark
+ */
+typedef enum {
+ TDM_OUTPUT_CAPABILITY_ASYNC_DPMS = (1 << 0), /**< if a outupt supports asynchronous DPMS operation */
+} tdm_output_capability;
+
+/**
* @brief The layer capability enumeration
* @details
* A layer can have one of CURSOR, PRIMARY and OVERLAY capability. And a layer
}
EXTERN tdm_error
+tdm_output_get_capabilities(tdm_output *output, tdm_output_capability *capabilities)
+{
+ OUTPUT_FUNC_ENTRY();
+
+ TDM_RETURN_VAL_IF_FAIL(capabilities != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+ _pthread_mutex_lock(&private_display->lock);
+
+ *capabilities = private_output->caps.capabilities;
+
+ _pthread_mutex_unlock(&private_display->lock);
+
+ return ret;
+}
+
+EXTERN tdm_error
tdm_output_get_conn_status(tdm_output *output, tdm_output_conn_status *status)
{
OUTPUT_FUNC_ENTRY();