|
@@ -23,13 +23,10 @@ struct _UfoScaleTaskPrivate {
|
|
|
};
|
|
|
|
|
|
static void ufo_task_interface_init (UfoTaskIface *iface);
|
|
|
-static void ufo_gpu_task_interface_init (UfoGpuTaskIface *iface);
|
|
|
|
|
|
G_DEFINE_TYPE_WITH_CODE (UfoScaleTask, ufo_scale_task, UFO_TYPE_TASK_NODE,
|
|
|
G_IMPLEMENT_INTERFACE (UFO_TYPE_TASK,
|
|
|
- ufo_task_interface_init)
|
|
|
- G_IMPLEMENT_INTERFACE (UFO_TYPE_GPU_TASK,
|
|
|
- ufo_gpu_task_interface_init))
|
|
|
+ ufo_task_interface_init))
|
|
|
|
|
|
#define UFO_SCALE_TASK_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), UFO_TYPE_SCALE_TASK, UfoScaleTaskPrivate))
|
|
|
|
|
@@ -48,7 +45,7 @@ ufo_scale_task_new (void)
|
|
|
}
|
|
|
|
|
|
static gboolean
|
|
|
-ufo_scale_task_process (UfoGpuTask *task,
|
|
|
+ufo_scale_task_process (UfoTask *task,
|
|
|
UfoBuffer **inputs,
|
|
|
UfoBuffer *output,
|
|
|
UfoRequisition *requisition)
|
|
@@ -77,25 +74,30 @@ ufo_scale_task_process (UfoGpuTask *task,
|
|
|
return TRUE;
|
|
|
}
|
|
|
|
|
|
-static void
|
|
|
-ufo_scale_task_get_structure (UfoTask *task,
|
|
|
- guint *n_inputs,
|
|
|
- UfoInputParam **in_params,
|
|
|
- UfoTaskMode *mode)
|
|
|
+static guint
|
|
|
+ufo_scale_task_get_num_inputs (UfoTask *task)
|
|
|
{
|
|
|
- UfoScaleTaskPrivate *priv;
|
|
|
+ return 1;
|
|
|
+}
|
|
|
|
|
|
- priv = UFO_SCALE_TASK_GET_PRIVATE (task);
|
|
|
- *mode = UFO_TASK_MODE_PROCESSOR;
|
|
|
- *n_inputs = 1;
|
|
|
- *in_params = g_new0 (UfoInputParam, 1);
|
|
|
- (*in_params)[0].n_dims = 2;
|
|
|
+static guint
|
|
|
+ufo_scale_task_get_num_dimensions (UfoTask *task,
|
|
|
+ guint input)
|
|
|
+{
|
|
|
+ g_return_val_if_fail (input == 0, 0);
|
|
|
+ return 2;
|
|
|
+}
|
|
|
+
|
|
|
+static UfoTaskMode
|
|
|
+ufo_scale_task_get_mode (UfoTask *task)
|
|
|
+{
|
|
|
+ return UFO_TASK_MODE_PROCESSOR | UFO_TASK_MODE_GPU;
|
|
|
}
|
|
|
|
|
|
static void
|
|
|
ufo_scale_task_setup (UfoTask *task,
|
|
|
- UfoResources *resources,
|
|
|
- GError **error)
|
|
|
+ UfoResources *resources,
|
|
|
+ GError **error)
|
|
|
{
|
|
|
UfoScaleTaskPrivate *priv;
|
|
|
|
|
@@ -116,9 +118,6 @@ ufo_scale_task_get_requisition (UfoTask *task,
|
|
|
UfoBuffer **inputs,
|
|
|
UfoRequisition *requisition)
|
|
|
{
|
|
|
- UfoScaleTaskPrivate *priv;
|
|
|
-
|
|
|
- priv = UFO_SCALE_TASK_GET_PRIVATE (task);
|
|
|
ufo_buffer_get_requisition (inputs[0], requisition);
|
|
|
}
|
|
|
|
|
@@ -167,20 +166,17 @@ ufo_task_interface_init (UfoTaskIface *iface)
|
|
|
{
|
|
|
iface->setup = ufo_scale_task_setup;
|
|
|
iface->get_requisition = ufo_scale_task_get_requisition;
|
|
|
- iface->get_structure = ufo_scale_task_get_structure;
|
|
|
-}
|
|
|
-
|
|
|
-static void
|
|
|
-ufo_gpu_task_interface_init (UfoGpuTaskIface *iface)
|
|
|
-{
|
|
|
+ iface->get_num_inputs = ufo_scale_task_get_num_inputs;
|
|
|
+ iface->get_num_dimensions = ufo_scale_task_get_num_dimensions;
|
|
|
+ iface->get_mode = ufo_scale_task_get_mode;
|
|
|
iface->process = ufo_scale_task_process;
|
|
|
}
|
|
|
|
|
|
static void
|
|
|
ufo_scale_task_set_property (GObject *object,
|
|
|
- guint property_id,
|
|
|
- const GValue *value,
|
|
|
- GParamSpec *pspec)
|
|
|
+ guint property_id,
|
|
|
+ const GValue *value,
|
|
|
+ GParamSpec *pspec)
|
|
|
{
|
|
|
UfoScaleTaskPrivate *priv = UFO_SCALE_TASK_GET_PRIVATE (object);
|
|
|
|