mirror of
https://github.com/brl/mutter.git
synced 2025-04-14 22:29:39 +00:00
kms: Return gpointer from impl tasks
Currently only used to return either TRUE or FALSE to communicate success or failure. Will be used to return feedback objects. https://gitlab.gnome.org/GNOME/mutter/merge_requests/930
This commit is contained in:
parent
3a8c545b32
commit
ec9d7145c8
@ -155,24 +155,26 @@ meta_kms_device_predict_states_in_impl (MetaKmsDevice *device,
|
|||||||
meta_kms_impl_device_predict_states (impl_device, update);
|
meta_kms_impl_device_predict_states (impl_device, update);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
dispatch_in_impl (MetaKmsImpl *impl,
|
dispatch_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
MetaKmsImplDevice *impl_device = META_KMS_IMPL_DEVICE (user_data);
|
MetaKmsImplDevice *impl_device = META_KMS_IMPL_DEVICE (user_data);
|
||||||
|
gboolean ret;
|
||||||
|
|
||||||
return meta_kms_impl_device_dispatch (impl_device, error);
|
ret = meta_kms_impl_device_dispatch (impl_device, error);
|
||||||
|
return GINT_TO_POINTER (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
dispatch_idle_in_impl (MetaKmsImpl *impl,
|
dispatch_idle_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
meta_kms_impl_dispatch_idle (impl);
|
meta_kms_impl_dispatch_idle (impl);
|
||||||
|
|
||||||
return TRUE;
|
return GINT_TO_POINTER (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -211,7 +213,7 @@ typedef struct _CreateImplDeviceData
|
|||||||
GList *out_planes;
|
GList *out_planes;
|
||||||
} CreateImplDeviceData;
|
} CreateImplDeviceData;
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
create_impl_device_in_impl (MetaKmsImpl *impl,
|
create_impl_device_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
@ -228,7 +230,7 @@ create_impl_device_in_impl (MetaKmsImpl *impl,
|
|||||||
data->out_connectors = meta_kms_impl_device_copy_connectors (impl_device);
|
data->out_connectors = meta_kms_impl_device_copy_connectors (impl_device);
|
||||||
data->out_planes = meta_kms_impl_device_copy_planes (impl_device);
|
data->out_planes = meta_kms_impl_device_copy_planes (impl_device);
|
||||||
|
|
||||||
return TRUE;
|
return GINT_TO_POINTER (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
MetaKmsDevice *
|
MetaKmsDevice *
|
||||||
@ -280,7 +282,7 @@ typedef struct _FreeImplDeviceData
|
|||||||
int out_fd;
|
int out_fd;
|
||||||
} FreeImplDeviceData;
|
} FreeImplDeviceData;
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
free_impl_device_in_impl (MetaKmsImpl *impl,
|
free_impl_device_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
@ -294,7 +296,7 @@ free_impl_device_in_impl (MetaKmsImpl *impl,
|
|||||||
|
|
||||||
data->out_fd = fd;
|
data->out_fd = fd;
|
||||||
|
|
||||||
return TRUE;
|
return GINT_TO_POINTER (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -137,14 +137,16 @@ meta_kms_impl_device_dispatch (MetaKmsImplDevice *impl_device,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
kms_event_dispatch_in_impl (MetaKmsImpl *impl,
|
kms_event_dispatch_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
MetaKmsImplDevice *impl_device = user_data;
|
MetaKmsImplDevice *impl_device = user_data;
|
||||||
|
gboolean ret;
|
||||||
|
|
||||||
return meta_kms_impl_device_dispatch (impl_device, error);
|
ret = meta_kms_impl_device_dispatch (impl_device, error);
|
||||||
|
return GINT_TO_POINTER (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
drmModePropertyPtr
|
drmModePropertyPtr
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
typedef void (* MetaKmsCallback) (MetaKms *kms,
|
typedef void (* MetaKmsCallback) (MetaKms *kms,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
typedef gboolean (* MetaKmsImplTaskFunc) (MetaKmsImpl *impl,
|
typedef gpointer (* MetaKmsImplTaskFunc) (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ void meta_kms_queue_callback (MetaKms *kms,
|
|||||||
|
|
||||||
int meta_kms_flush_callbacks (MetaKms *kms);
|
int meta_kms_flush_callbacks (MetaKms *kms);
|
||||||
|
|
||||||
gboolean meta_kms_run_impl_task_sync (MetaKms *kms,
|
gpointer meta_kms_run_impl_task_sync (MetaKms *kms,
|
||||||
MetaKmsImplTaskFunc func,
|
MetaKmsImplTaskFunc func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
@ -201,7 +201,7 @@ meta_kms_predict_states_in_impl (MetaKms *kms,
|
|||||||
update);
|
update);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
meta_kms_update_process_in_impl (MetaKmsImpl *impl,
|
meta_kms_update_process_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
@ -213,7 +213,7 @@ meta_kms_update_process_in_impl (MetaKmsImpl *impl,
|
|||||||
|
|
||||||
meta_kms_predict_states_in_impl (meta_kms_impl_get_kms (impl), update);
|
meta_kms_predict_states_in_impl (meta_kms_impl_get_kms (impl), update);
|
||||||
|
|
||||||
return ret;
|
return GINT_TO_POINTER (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -221,15 +221,18 @@ meta_kms_post_update_sync (MetaKms *kms,
|
|||||||
MetaKmsUpdate *update,
|
MetaKmsUpdate *update,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
|
gpointer ret;
|
||||||
|
|
||||||
meta_kms_update_seal (update);
|
meta_kms_update_seal (update);
|
||||||
|
|
||||||
COGL_TRACE_BEGIN_SCOPED (MetaKmsPostUpdateSync,
|
COGL_TRACE_BEGIN_SCOPED (MetaKmsPostUpdateSync,
|
||||||
"KMS (post update)");
|
"KMS (post update)");
|
||||||
|
|
||||||
return meta_kms_run_impl_task_sync (kms,
|
ret = meta_kms_run_impl_task_sync (kms,
|
||||||
meta_kms_update_process_in_impl,
|
meta_kms_update_process_in_impl,
|
||||||
update,
|
update,
|
||||||
error);
|
error);
|
||||||
|
return GPOINTER_TO_INT (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
@ -241,13 +244,13 @@ meta_kms_post_pending_update_sync (MetaKms *kms,
|
|||||||
error);
|
error);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
meta_kms_discard_pending_page_flips_in_impl (MetaKmsImpl *impl,
|
meta_kms_discard_pending_page_flips_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
meta_kms_impl_discard_pending_page_flips (impl);
|
meta_kms_impl_discard_pending_page_flips (impl);
|
||||||
return TRUE;
|
return GINT_TO_POINTER (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -330,13 +333,13 @@ meta_kms_flush_callbacks (MetaKms *kms)
|
|||||||
return callback_count;
|
return callback_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gpointer
|
||||||
meta_kms_run_impl_task_sync (MetaKms *kms,
|
meta_kms_run_impl_task_sync (MetaKms *kms,
|
||||||
MetaKmsImplTaskFunc func,
|
MetaKmsImplTaskFunc func,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean ret;
|
gpointer ret;
|
||||||
|
|
||||||
kms->in_impl_task = TRUE;
|
kms->in_impl_task = TRUE;
|
||||||
kms->waiting_for_impl_task = TRUE;
|
kms->waiting_for_impl_task = TRUE;
|
||||||
@ -405,7 +408,7 @@ meta_kms_fd_impl_source_dispatch (GSource *source,
|
|||||||
{
|
{
|
||||||
MetaKmsFdImplSource *fd_impl_source = (MetaKmsFdImplSource *) source;
|
MetaKmsFdImplSource *fd_impl_source = (MetaKmsFdImplSource *) source;
|
||||||
MetaKms *kms = fd_impl_source->kms;
|
MetaKms *kms = fd_impl_source->kms;
|
||||||
gboolean ret;
|
gpointer ret;
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
kms->in_impl_task = TRUE;
|
kms->in_impl_task = TRUE;
|
||||||
@ -414,7 +417,7 @@ meta_kms_fd_impl_source_dispatch (GSource *source,
|
|||||||
&error);
|
&error);
|
||||||
kms->in_impl_task = FALSE;
|
kms->in_impl_task = FALSE;
|
||||||
|
|
||||||
if (!ret)
|
if (!GPOINTER_TO_INT (ret))
|
||||||
{
|
{
|
||||||
g_warning ("Failed to dispatch fd source: %s", error->message);
|
g_warning ("Failed to dispatch fd source: %s", error->message);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
@ -478,7 +481,7 @@ meta_kms_update_states_in_impl (MetaKms *kms)
|
|||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gpointer
|
||||||
update_states_in_impl (MetaKmsImpl *impl,
|
update_states_in_impl (MetaKmsImpl *impl,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GError **error)
|
GError **error)
|
||||||
@ -487,14 +490,17 @@ update_states_in_impl (MetaKmsImpl *impl,
|
|||||||
|
|
||||||
meta_kms_update_states_in_impl (kms);
|
meta_kms_update_states_in_impl (kms);
|
||||||
|
|
||||||
return TRUE;
|
return GINT_TO_POINTER (TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
meta_kms_update_states_sync (MetaKms *kms,
|
meta_kms_update_states_sync (MetaKms *kms,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
return meta_kms_run_impl_task_sync (kms, update_states_in_impl, NULL, error);
|
gpointer ret;
|
||||||
|
|
||||||
|
ret = meta_kms_run_impl_task_sync (kms, update_states_in_impl, NULL, error);
|
||||||
|
return GPOINTER_TO_INT (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user