private_output = private_layer->private_output; \
private_display = private_output->private_display
+#define OUTPUT_HWC_CAP_CHECK() \
+ if (private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC) { \
+ TDM_ERR("output(%p) support HWC. Use HWC functions", private_output); \
+ _pthread_mutex_unlock(&private_display->lock); \
+ return TDM_ERROR_OPERATION_FAILED; \
+ }
+
+#define OUTPUT_HWC_CAP_CHECK_ERROR() \
+ if (private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC) { \
+ TDM_ERR("output(%p) support HWC. Use HWC functions", private_output); \
+ if (error) *error = TDM_ERROR_OPERATION_FAILED; \
+ _pthread_mutex_unlock(&private_display->lock); \
+ return NULL; \
+ }
+
+#define OUTPUT_HWC_CAP_CHECK_VOID_RETURN() \
+ if (private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC) { \
+ TDM_ERR("output(%p) support HWC. Use HWC functions", private_output); \
+ _pthread_mutex_unlock(&private_display->lock); \
+ return; \
+ }
+
static void _tdm_layer_cb_wait_vblank(tdm_vblank *vblank, tdm_error error, unsigned int sequence,
unsigned int tv_sec, unsigned int tv_usec, void *user_data);
static void _tbm_layer_queue_acquirable_cb(tbm_surface_queue_h surface_queue, void *data);