From 351197c53c08f78d0d46a67fc64f52394b974bcd Mon Sep 17 00:00:00 2001
From: gyulaid <gyulaid@gyulai.cloud>
Date: Wed, 30 Mar 2022 21:25:30 +0200
Subject: [PATCH] Build debug in Common + exit if error

---
 Common/OpenCLHandler.cpp | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/Common/OpenCLHandler.cpp b/Common/OpenCLHandler.cpp
index 398ddba..4260f2a 100644
--- a/Common/OpenCLHandler.cpp
+++ b/Common/OpenCLHandler.cpp
@@ -69,7 +69,19 @@ OpenCLHandler::OpenCLHandler(std::string kernelcode)
 	//std::string programSource = FileToString("../kernels/programs.cl");
 	std::string programSource = FileToString(kernelcode);
 	program = cl::Program(context, programSource);
-	program.build(devices);
+	err = program.build(devices);
+	if (!CheckCLError(err))
+	{
+		for (size_t devID = 0; devID < devices.size(); ++devID)
+		{
+			std::cout << "Device: " << devID << std::endl;
+			std::cout << "Build Status: " << program.getBuildInfo<CL_PROGRAM_BUILD_STATUS>(devices[devID]) << std::endl;
+			std::cout << "Build Options:\t" << program.getBuildInfo<CL_PROGRAM_BUILD_OPTIONS>(devices[devID]) << std::endl;
+			std::cout << "Build Log:\t " << program.getBuildInfo<CL_PROGRAM_BUILD_LOG>(devices[devID]) << std::endl;
+			std::cout << "--------------------------------------------------" << std::endl;
+		}
+		exit(-1);
+	}
 }
 
 bool OpenCLHandler::run_test(TestCase* test)