From f88f52617be9966cddd3ec28d590704fb8a615eb Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Fri, 19 Apr 2013 20:46:21 +0000 Subject: Ajout option -Werror et affichage lorsque ca compile pas. Amelioration des kernels en conséquence. Bugfix avec le sizeof(source) qui prennait un caractère de trop (le '\0') MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2013-gpudataviz/trunk@31 371a6b4a-a258-45f8-9dcc-bdd82ce0ac9d --- src/opencl_mesh_kit.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/opencl_mesh_kit.cpp') diff --git a/src/opencl_mesh_kit.cpp b/src/opencl_mesh_kit.cpp index 6e41c25..318a928 100644 --- a/src/opencl_mesh_kit.cpp +++ b/src/opencl_mesh_kit.cpp @@ -131,9 +131,22 @@ cl_int OpenCLMeshKit::compileKernels(const char source[], size_t sourceLen) { return 21; } - res = clBuildProgram(program, 1, &cl_dev, "", NULL, NULL); + res = clBuildProgram(program, 1, &cl_dev, "-Werror", NULL, NULL); if ( res!=CL_SUCCESS ) { std::cerr << "Failed to clBuildProgram()" << std::endl; + + // Shows the log + char* build_log; + size_t log_size; + // First call to know the proper size + clGetProgramBuildInfo(program, cl_dev, CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size); + build_log = new char[log_size+1]; + // Second call to get the log + clGetProgramBuildInfo(program, cl_dev, CL_PROGRAM_BUILD_LOG, log_size, build_log, NULL); + build_log[log_size] = '\0'; + std::cerr << build_log << std::endl; + delete[] build_log; + return 22; } @@ -241,7 +254,7 @@ cl_int OpenCLMeshKit::resetVBO() { cl_int res; std::map user_kernels=kernels; - res = compileKernels(kernel_src_zero_z, sizeof(kernel_src_zero_z)); + res = compileKernels(kernel_src_zero_z, sizeof(kernel_src_zero_z)-1); if(res==0) res = execKernel("zero_z", 0.0f); -- cgit v1.2.3