[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46855] trunk/blender/source: Fix for [ #31418] Code review: OpenCL initialization

Jeroen Bakker j.bakker at atmind.nl
Mon May 21 21:31:29 CEST 2012


Revision: 46855
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46855
Author:   jbakker
Date:     2012-05-21 19:31:29 +0000 (Mon, 21 May 2012)
Log Message:
-----------
Fix for [#31418] Code review: OpenCL initialization
 * Moved OpenCL initialization to first use
 * cleaned up build files
 * display some debug lines only when debugging is enabled.

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/intern/COM_WorkScheduler.cpp
    trunk/blender/source/blender/compositor/intern/COM_compositor.cpp
    trunk/blender/source/creator/CMakeLists.txt

Modified: trunk/blender/source/blender/compositor/intern/COM_WorkScheduler.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_WorkScheduler.cpp	2012-05-21 18:47:55 UTC (rev 46854)
+++ trunk/blender/source/blender/compositor/intern/COM_WorkScheduler.cpp	2012-05-21 19:31:29 UTC (rev 46855)
@@ -29,6 +29,7 @@
 #include "OCL_opencl.h"
 #include "stdio.h"
 #include "COM_OpenCLKernels.cl.cpp"
+#include "BKE_global.h"
 
 #if COM_CURRENT_THREADING_MODEL == COM_TM_NOTHREAD
 #warning COM_CURRENT_THREADING_MODEL COM_TM_NOTHREAD is activated. Use only for debugging.
@@ -235,7 +236,7 @@
 		cl_int error;
 		error = clGetPlatformIDs(0, 0, &numberOfPlatforms);
 		if (error != CL_SUCCESS) { printf("CLERROR[%d]: %s\n", error, clewErrorString(error));	}
-		printf("%d number of platforms\n", numberOfPlatforms);
+		if (G.f & G_DEBUG) printf("%d number of platforms\n", numberOfPlatforms);
 		cl_platform_id *platforms = new cl_platform_id[numberOfPlatforms];
 		error = clGetPlatformIDs(numberOfPlatforms, platforms, 0);
 		unsigned int indexPlatform;
@@ -280,11 +281,13 @@
 			OpenCLDevice *clDevice = new OpenCLDevice(context, device, program);
 			clDevice->initialize(),
 			gpudevices.push_back(clDevice);
-			char resultString[32];
-			error = clGetDeviceInfo(device, CL_DEVICE_NAME, 32, resultString, 0);
-			printf("OPENCL_DEVICE: %s, ", resultString);
-			error = clGetDeviceInfo(device, CL_DEVICE_VENDOR, 32, resultString, 0);
-			printf("%s\n", resultString);
+			if (G.f & G_DEBUG) {
+				char resultString[32];
+				error = clGetDeviceInfo(device, CL_DEVICE_NAME, 32, resultString, 0);
+				printf("OPENCL_DEVICE: %s, ", resultString);
+				error = clGetDeviceInfo(device, CL_DEVICE_VENDOR, 32, resultString, 0);
+				printf("%s\n", resultString);
+			}
 		}
 		delete cldevices;
 		delete platforms;

Modified: trunk/blender/source/blender/compositor/intern/COM_compositor.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_compositor.cpp	2012-05-21 18:47:55 UTC (rev 46854)
+++ trunk/blender/source/blender/compositor/intern/COM_compositor.cpp	2012-05-21 19:31:29 UTC (rev 46855)
@@ -29,6 +29,7 @@
 #include "COM_compositor.h"
 #include "COM_ExecutionSystem.h"
 #include "COM_WorkScheduler.h"
+#include "OCL_opencl.h"
 
 static ThreadMutex *compositorMutex;
 void COM_execute(bNodeTree *editingtree, int rendering)
@@ -36,6 +37,7 @@
 	if (compositorMutex == NULL) { /// TODO: move to blender startup phase
 		compositorMutex = new ThreadMutex();
 		BLI_mutex_init(compositorMutex);
+		OCL_init();
 		WorkScheduler::initialize(); ///TODO: call workscheduler.deinitialize somewhere
 	}
 	BLI_mutex_lock(compositorMutex);

Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt	2012-05-21 18:47:55 UTC (rev 46854)
+++ trunk/blender/source/creator/CMakeLists.txt	2012-05-21 19:31:29 UTC (rev 46855)
@@ -38,7 +38,6 @@
 	../blender/makesdna
 	../blender/gpu
 	../blender/windowmanager
-	../blender/opencl
 )
 
 if(WIN32)




More information about the Bf-blender-cvs mailing list