piv-scheduler.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. #include "piv-scheduler.h"
  2. void expand_graph(UfoPluginManager *manager, GList *gpu_nodes,
  3. UfoTaskNode *src1, UfoTaskNode *src2, UfoTaskNode *out,
  4. unsigned ring_start, unsigned ring_end, unsigned ring_step,
  5. GError **error, UfoTaskGraph *graph)
  6. {
  7. GList *it;
  8. UfoTaskNode *fftmult;
  9. for (it = gpu_nodes; it; it = it->next) {
  10. fftmult = ufo_plugin_manager_get_task (manager, "fftmult", error);
  11. g_object_set (G_OBJECT (fftmult), "ring_start", ring_start, NULL);
  12. g_object_set (G_OBJECT (fftmult), "ring_end", ring_end, NULL);
  13. g_object_set (G_OBJECT (fftmult), "ring_step", ring_step, NULL);
  14. ufo_task_graph_connect_nodes_full (graph, src1, fftmult, 0);
  15. ufo_task_graph_connect_nodes_full (graph, src2, fftmult, 1);
  16. ufo_task_graph_connect_nodes (graph, fftmult, out);
  17. ufo_task_node_set_proc_node (fftmult, it->data);
  18. }
  19. }
  20. void expand_graph2(UfoPluginManager *manager, GList *gpu_nodes,
  21. UfoTaskNode *src, UfoTaskNode *out, const char *plugin_str,
  22. GError **error, UfoTaskGraph *graph)
  23. {
  24. GList *it;
  25. UfoTaskNode *plugin;
  26. for (it = gpu_nodes; it; it = it->next) {
  27. plugin = ufo_plugin_manager_get_task (manager, plugin_str, error);
  28. ufo_task_graph_connect_nodes (graph, src, plugin);
  29. ufo_task_graph_connect_nodes (graph, plugin, out);
  30. ufo_task_node_set_proc_node (plugin, gpu_nodes->data);
  31. }
  32. }