Bläddra i källkod

Multiformat interface: free OpenCL buffers.

Cyril Roelandt 12 år sedan
förälder
incheckning
268bac3867
1 ändrade filer med 14 tillägg och 1 borttagningar
  1. 14 1
      src/datawizard/interfaces/multiformat_interface.c

+ 14 - 1
src/datawizard/interfaces/multiformat_interface.c

@@ -267,7 +267,20 @@ static void free_multiformat_buffer_on_node(void *data_interface, uint32_t node)
 #endif
 #endif
 #ifdef STARPU_USE_OPENCL
 #ifdef STARPU_USE_OPENCL
 		case STARPU_OPENCL_RAM:
 		case STARPU_OPENCL_RAM:
-			STARPU_ASSERT_MSG(0, "XXX multiformat not supported on OpenCL yet (TODO)");
+			if (multiformat_interface->cpu_ptr)
+			{
+				cl_int err = clReleaseMemObject(multiformat_interface->cpu_ptr);
+				if (err != CL_SUCCESS)
+					STARPU_OPENCL_REPORT_ERROR(err);
+				multiformat_interface->cpu_ptr = NULL;
+			}
+			if (multiformat_interface->opencl_ptr)
+			{
+				cl_int err = clReleaseMemObject(multiformat_interface->opencl_ptr);
+				if (err != CL_SUCCESS)
+					STARPU_OPENCL_REPORT_ERROR(err);
+				multiformat_interface->opencl_ptr = NULL;
+			}
 			break;
 			break;
 #endif
 #endif
 		default:
 		default: