summaryrefslogtreecommitdiff
path: root/src/opencl_mesh_kit.cpp
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2013-04-19 20:46:21 +0000
committerLudovic Pouzenc <ludovic@pouzenc.fr>2013-04-19 20:46:21 +0000
commitf88f52617be9966cddd3ec28d590704fb8a615eb (patch)
tree943ff25992e8e5721a28a18925f5acd634358ec1 /src/opencl_mesh_kit.cpp
parent151d0ff1af64b058f37610e61c6de7e7845416d2 (diff)
download2013-gpudataviz-f88f52617be9966cddd3ec28d590704fb8a615eb.tar.gz
2013-gpudataviz-f88f52617be9966cddd3ec28d590704fb8a615eb.tar.bz2
2013-gpudataviz-f88f52617be9966cddd3ec28d590704fb8a615eb.zip
Ajout option -Werror et affichage lorsque ca compile pas.origin/trunk
Amelioration des kernels en conséquence. Bugfix avec le sizeof(source) qui prennait un caractère de trop (le '\0') git-svn-id: file:///var/svn/2013-gpudataviz/trunk@31 371a6b4a-a258-45f8-9dcc-bdd82ce0ac9d
Diffstat (limited to 'src/opencl_mesh_kit.cpp')
-rw-r--r--src/opencl_mesh_kit.cpp17
1 files changed, 15 insertions, 2 deletions
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<std::string, cl_kernel> 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);