ソースを参照

Use current API

Matthias Vogelgesang 11 年 前
コミット
0aab4b9f56

+ 2 - 1
src/ufo-filter-3d-edf-writer.c

@@ -81,12 +81,13 @@ filter_3d_edf_write_body(FILE * file, float * data, const guint32 sz)
 }
 
 static void
-ufo_filter_3d_edf_writer_consume (UfoFilterSink *self, UfoBuffer *input[], gpointer cmd_queue, GError **error)
+ufo_filter_3d_edf_writer_consume (UfoFilterSink *self, UfoBuffer *input[], GError **error)
 {
     g_return_if_fail(UFO_IS_FILTER(self));
     UfoFilter3DEdfWriterPrivate *priv = UFO_FILTER_3D_EDF_WRITER_GET_PRIVATE(self);
     g_message("ufo_filter_3d_edf_writer_process");
 
+    cl_command_queue cmd_queue = ufo_filter_get_command_queue (UFO_FILTER (self));
     guint num_dims = 0;
     guint *dim_size = NULL;
     guint counter = 0;

+ 5 - 4
src/ufo-filter-lamino-bp-generic.c

@@ -187,7 +187,7 @@ ufo_filter_lamino_bp_generic_initialize (UfoFilterReduce *filter, UfoBuffer *inp
 }
 
 static void
-ufo_filter_lamino_bp_generic_collect(UfoFilterReduce *filter, UfoBuffer *input[], UfoBuffer *output[], gpointer cmd_queue, GError **error)
+ufo_filter_lamino_bp_generic_collect(UfoFilterReduce *filter, UfoBuffer *input[], UfoBuffer *output[], GError **error)
 {
     /////////////////// testing OpenCL platform
     // testing_cl_platform();
@@ -197,7 +197,7 @@ ufo_filter_lamino_bp_generic_collect(UfoFilterReduce *filter, UfoBuffer *input[]
     UfoFilterLaminoBPGenericPrivate *priv = UFO_FILTER_LAMINO_BP_GENERIC_GET_PRIVATE(filter);
     CLParameters *params = &(priv->params);
 
-    cl_command_queue command_queue = (cl_command_queue) cmd_queue;
+    cl_command_queue command_queue = (cl_command_queue) ufo_filter_get_command_queue (UFO_FILTER (filter));
     cl_mem output_mem = (cl_mem) ufo_buffer_get_device_array(output[0], command_queue);
     const guint vol_num_dims = 3;
 
@@ -255,7 +255,7 @@ ufo_filter_lamino_bp_generic_collect(UfoFilterReduce *filter, UfoBuffer *input[]
 }
 
 static gboolean
-ufo_filter_lamino_bp_generic_reduce (UfoFilterReduce *filter, UfoBuffer *output[], gpointer cmd_queue, GError **error)
+ufo_filter_lamino_bp_generic_reduce (UfoFilterReduce *filter, UfoBuffer *output[], GError **error)
 {
     UfoFilterLaminoBPGenericPrivate *priv = UFO_FILTER_LAMINO_BP_GENERIC_GET_PRIVATE(filter);
 
@@ -263,8 +263,9 @@ ufo_filter_lamino_bp_generic_reduce (UfoFilterReduce *filter, UfoBuffer *output[
         return FALSE;
 
     // normalize volume after reconstruction
+    cl_command_queue cmd_queue = ufo_filter_get_command_queue (UFO_FILTER (filter));
     cl_kernel norm_vol_kernel = priv->norm_vol_kernel;
-    cl_mem output_mem = ufo_buffer_get_device_array (output[0], (cl_command_queue) cmd_queue);
+    cl_mem output_mem = ufo_buffer_get_device_array (output[0], cmd_queue);
     float stepPhi = priv->params.angle_step;
     const guint vol_num_dims = 3;
 

+ 7 - 10
src/ufo-filter-lamino-ft-conv.c

@@ -64,15 +64,15 @@ ufo_filter_lamino_ft_conv_initialize (UfoFilter *filter, UfoBuffer *params[], gu
     priv->global_work_size[1] = (size_t) priv->img_height;
 }
 
-static UfoEventList *
-ufo_filter_lamino_ft_conv_process_gpu(UfoFilter *flt, UfoBuffer *input[], UfoBuffer *output[], gpointer cmd_queue, GError **error)
+static void
+ufo_filter_lamino_ft_conv_process_gpu(UfoFilter *flt, UfoBuffer *input[], UfoBuffer *output[], GError **error)
 {
-    g_return_val_if_fail(UFO_IS_FILTER(flt), NULL);
+    g_return_if_fail(UFO_IS_FILTER(flt));
+
     UfoFilterLaminoFTConvPrivate *priv = UFO_FILTER_LAMINO_FT_CONV_GET_PRIVATE (flt);
-    UfoEventList *event_list = ufo_event_list_new (1);
-    cl_event *events = ufo_event_list_get_event_array (event_list);
+    UfoProfiler *profiler = ufo_filter_get_profiler(flt);
 
-    cl_command_queue command_queue = (cl_command_queue) cmd_queue;
+    cl_command_queue command_queue = ufo_filter_get_command_queue (flt);
     cl_kernel kernel = priv->kernel;
     cl_mem filter_mem = (cl_mem) ufo_buffer_get_device_array(input[INPUT_FILTER], command_queue);
     cl_mem input_mem  = (cl_mem) ufo_buffer_get_device_array(input[INPUT_IMAGE],  command_queue);
@@ -83,12 +83,9 @@ ufo_filter_lamino_ft_conv_process_gpu(UfoFilter *flt, UfoBuffer *input[], UfoBuf
     CHECK_OPENCL_ERROR(clSetKernelArg(kernel, 2, sizeof(cl_mem), (void *) &output_mem));
     CHECK_OPENCL_ERROR(clSetKernelArg(kernel, 3, sizeof(int), &priv->img_width));
 
-    CHECK_OPENCL_ERROR(clEnqueueNDRangeKernel(command_queue, kernel,
-                2, NULL, priv->global_work_size, NULL,
-                0, NULL, &events[0]));
+    ufo_profiler_call (profiler, command_queue, kernel, 2, priv->global_work_size, NULL);
 
     clFinish(command_queue);
-    return event_list;
 }
 
 static void

+ 4 - 3
src/ufo-filter-lamino-ramp.c

@@ -84,10 +84,11 @@ ufo_filter_lamino_ramp_initialize (UfoFilterSource *filter, guint **dim_sizes, G
 }
 
 static gboolean
-ufo_filter_lamino_ramp_generate (UfoFilterSource *filter, UfoBuffer *output[], gpointer cmd_queue, GError **error)
+ufo_filter_lamino_ramp_generate (UfoFilterSource *filter, UfoBuffer *output[], GError **error)
 {
     g_return_val_if_fail (UFO_IS_FILTER (filter), FALSE);
     UfoFilterLaminoRampPrivate *priv = UFO_FILTER_LAMINO_RAMP_GET_PRIVATE (filter);
+    cl_command_queue cmd_queue = ufo_filter_get_command_queue (UFO_FILTER (filter));
 
     if (priv->done)
         return FALSE;
@@ -100,7 +101,7 @@ ufo_filter_lamino_ramp_generate (UfoFilterSource *filter, UfoBuffer *output[], g
     size_t global_work_size[2] = { (size_t) priv->width, (size_t) priv->height };
 
     cl_kernel kernel = priv->kernel_cf;
-    cl_mem output_mem  = (cl_mem) ufo_buffer_get_device_array(output[0], (cl_command_queue) cmd_queue);
+    cl_mem output_mem  = (cl_mem) ufo_buffer_get_device_array(output[0], cmd_queue);
 
     CHECK_OPENCL_ERROR(clSetKernelArg(kernel, 0, sizeof(cl_mem), (void *) &output_mem));
     CHECK_OPENCL_ERROR(clSetKernelArg(kernel, 1, sizeof(int), &width));
@@ -109,7 +110,7 @@ ufo_filter_lamino_ramp_generate (UfoFilterSource *filter, UfoBuffer *output[], g
     CHECK_OPENCL_ERROR(clSetKernelArg(kernel, 4, sizeof(float), &theta));
     CHECK_OPENCL_ERROR(clSetKernelArg(kernel, 5, sizeof(float), &tau));
 
-    CHECK_OPENCL_ERROR(clEnqueueNDRangeKernel((cl_command_queue) cmd_queue, kernel,
+    CHECK_OPENCL_ERROR(clEnqueueNDRangeKernel(cmd_queue, kernel,
                 2, NULL, global_work_size, NULL,
                 0, NULL, NULL));
 

+ 4 - 5
src/ufo-filter-padding-2d.c

@@ -98,11 +98,11 @@ ufo_filter_padding_2d_initialize (UfoFilter *filter, UfoBuffer *params[], guint
  * This is the main method in which the filter processes one buffer after
  * another.
  */
-static UfoEventList *
-ufo_filter_padding_2d_process_gpu(UfoFilter *filter, UfoBuffer *input[], UfoBuffer *output[], gpointer cmd_queue, GError **error)
+static void
+ufo_filter_padding_2d_process_gpu(UfoFilter *filter, UfoBuffer *input[], UfoBuffer *output[], GError **error)
 {
-    g_return_val_if_fail (UFO_IS_FILTER (filter), NULL);
-    cl_command_queue command_queue = (cl_command_queue) cmd_queue;
+    g_return_if_fail (UFO_IS_FILTER (filter));
+    cl_command_queue command_queue = ufo_filter_get_command_queue (filter);
     UfoFilterPadding2DPrivate *priv = UFO_FILTER_PADDING_2D_GET_PRIVATE(filter);
 
     const PaddingMode mode = priv->mode;
@@ -181,7 +181,6 @@ ufo_filter_padding_2d_process_gpu(UfoFilter *filter, UfoBuffer *input[], UfoBuff
     }
 
     clFinish(command_queue); // synchro?
-    return NULL;
 }
 
 static void