SWDEV-470698 - fix formatting, add format check workflow (#657)

This commit is contained in:
Danylo Lytovchenko authored and GitHub committed 2025-08-20 19:58:06 +05:30
1 parent 5840940caa
commit f7338717ae
1574 files changed
+162903 -199277

No files matched your search

@@ -43,8 +43,9 @@ const static char strKernel[] =
"} "
" \n";
typedef CL_API_ENTRY cl_mem(CL_API_CALL *clCreateBufferFromImageAMD_fn)(
cl_context context, cl_mem image, cl_int *errcode_ret);
typedef CL_API_ENTRY cl_mem(CL_API_CALL* clCreateBufferFromImageAMD_fn)(cl_context context,
cl_mem image,
cl_int* errcode_ret);
clCreateBufferFromImageAMD_fn clCreateBufferFromImageAMD;
OCLBufferFromImage::OCLBufferFromImage() : OCLTestImp() {
@@ -55,8 +56,8 @@ OCLBufferFromImage::OCLBufferFromImage() : OCLTestImp() {
OCLBufferFromImage::~OCLBufferFromImage() {}
void OCLBufferFromImage::open(unsigned int test, char *units,
double &conversion, unsigned int deviceId) {
void OCLBufferFromImage::open(unsigned int test, char* units, double& conversion,
unsigned int deviceId) {
buffer = bufferImage = clImage2D = bufferOut = NULL;
done = false;
pitchAlignment = 0;
@@ -70,8 +71,8 @@ void OCLBufferFromImage::open(unsigned int test, char *units,
if (_errorFlag) return;
cl_device_type deviceType;
error_ = _wrapper->clGetDeviceInfo(devices_[deviceId], CL_DEVICE_TYPE,
sizeof(deviceType), &deviceType, NULL);
error_ = _wrapper->clGetDeviceInfo(devices_[deviceId], CL_DEVICE_TYPE, sizeof(deviceType),
&deviceType, NULL);
CHECK_RESULT((error_ != CL_SUCCESS), "CL_DEVICE_TYPE failed");
if (!(deviceType & CL_DEVICE_TYPE_GPU)) {
@@ -82,8 +83,8 @@ void OCLBufferFromImage::open(unsigned int test, char *units,
cl_bool imageSupport;
size_t size;
_wrapper->clGetDeviceInfo(devices_[deviceId], CL_DEVICE_IMAGE_SUPPORT,
sizeof(imageSupport), &imageSupport, &size);
_wrapper->clGetDeviceInfo(devices_[deviceId], CL_DEVICE_IMAGE_SUPPORT, sizeof(imageSupport),
&imageSupport, &size);
if (!imageSupport) {
testDescString = "Image not supported, skipping this test! ";
done = true;
@@ -120,89 +121,62 @@ void OCLBufferFromImage::AllocateOpenCLBuffer() {
size_t size = 0;
pitchAlignment = 0;
status = _wrapper->clGetDeviceInfo(devices_[_deviceId],
CL_DEVICE_IMAGE_PITCH_ALIGNMENT,
status = _wrapper->clGetDeviceInfo(devices_[_deviceId], CL_DEVICE_IMAGE_PITCH_ALIGNMENT,
sizeof(cl_uint), &pitchAlignment, &size);
pitchAlignment--;
const unsigned int requiredPitch =
((imageWidth + pitchAlignment) & ~pitchAlignment);
const unsigned int requiredPitch = ((imageWidth + pitchAlignment) & ~pitchAlignment);
const unsigned int pitch = requiredPitch;
bufferSize = pitch * imageHeight;
unsigned char *sourceData = new unsigned char[bufferSize];
unsigned char* sourceData = new unsigned char[bufferSize];
// init data
for (unsigned int y = 0; y < bufferSize; y++) {
*(sourceData + y) = y;
}
buffer = _wrapper->clCreateBuffer(context_,
CL_MEM_COPY_HOST_PTR | CL_MEM_READ_WRITE,
bufferSize, sourceData, &status);
buffer = _wrapper->clCreateBuffer(context_, CL_MEM_COPY_HOST_PTR | CL_MEM_READ_WRITE, bufferSize,
sourceData, &status);
delete[] sourceData;
const cl_image_format format = {CL_RGBA, CL_UNSIGNED_INT8};
#if defined(CL_VERSION_2_0)
const cl_image_desc desc = {CL_MEM_OBJECT_IMAGE2D,
imageWidth / 4,
imageHeight,
0,
0,
pitch,
0,
0,
0,
{buffer}};
const cl_image_desc desc = {
CL_MEM_OBJECT_IMAGE2D, imageWidth / 4, imageHeight, 0, 0, pitch, 0, 0, 0, {buffer}};
#else
const cl_image_desc desc = {CL_MEM_OBJECT_IMAGE2D,
imageWidth / 4,
imageHeight,
0,
0,
pitch,
0,
0,
0,
buffer};
const cl_image_desc desc = {
CL_MEM_OBJECT_IMAGE2D, imageWidth / 4, imageHeight, 0, 0, pitch, 0, 0, 0, buffer};
#endif
clImage2D = _wrapper->clCreateImage(context_, CL_MEM_READ_WRITE, &format,
&desc, NULL, &status);
CHECK_RESULT(clImage2D == NULL || status != CL_SUCCESS,
"AllocateOpenCLImage() failed");
clImage2D = _wrapper->clCreateImage(context_, CL_MEM_READ_WRITE, &format, &desc, NULL, &status);
CHECK_RESULT(clImage2D == NULL || status != CL_SUCCESS, "AllocateOpenCLImage() failed");
bufferImage = clCreateBufferFromImageAMD(context_, clImage2D, &status);
char c[1024];
_wrapper->clGetDeviceInfo(devices_[_deviceId], CL_DRIVER_VERSION, sizeof(c),
&c, NULL);
_wrapper->clGetDeviceInfo(devices_[_deviceId], CL_DRIVER_VERSION, sizeof(c), &c, NULL);
if (status == CL_INVALID_OPERATION) {
testDescString =
"clCreateBufferFromImageAMD not supported on this device!\n";
testDescString = "clCreateBufferFromImageAMD not supported on this device!\n";
done = true;
return;
}
CHECK_RESULT(bufferImage == NULL || status != CL_SUCCESS,
"clCreateBufferFromImage(bufferOut) failed");
bufferOut = _wrapper->clCreateBuffer(context_, CL_MEM_READ_WRITE, bufferSize,
NULL, &status);
CHECK_RESULT(bufferOut == NULL || status != CL_SUCCESS,
"clCreateBuffer(bufferOut) failed");
bufferOut = _wrapper->clCreateBuffer(context_, CL_MEM_READ_WRITE, bufferSize, NULL, &status);
CHECK_RESULT(bufferOut == NULL || status != CL_SUCCESS, "clCreateBuffer(bufferOut) failed");
}
void OCLBufferFromImage::testReadBuffer(cl_mem buffer) {
cl_int status = 0;
unsigned char *dstData = new unsigned char[bufferSize];
unsigned char* dstData = new unsigned char[bufferSize];
status = clEnqueueReadBuffer(cmdQueues_[_deviceId], buffer, 1, 0, bufferSize,
dstData, 0, 0, 0);
status = clEnqueueReadBuffer(cmdQueues_[_deviceId], buffer, 1, 0, bufferSize, dstData, 0, 0, 0);
::clFinish(cmdQueues_[_deviceId]);
for (unsigned int y = 0; y < bufferSize; y++) {
if (*(dstData + y) != (unsigned char)y) {
CHECK_RESULT_NO_RETURN(true, "CheckCLBuffer: *(dstData+y)!=y => %i != %i",
*(dstData + y), y);
CHECK_RESULT_NO_RETURN(true, "CheckCLBuffer: *(dstData+y)!=y => %i != %i", *(dstData + y), y);
goto cleanup;
}
}
@@ -245,10 +219,9 @@ void OCLBufferFromImage::CopyOpenCLBuffer(cl_mem buffer) {
size_t globalThreads[] = {bufferSize};
size_t localThreads[] = {blockSizeX};
status = clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 1, NULL,
globalThreads, NULL, 0, NULL, 0);
CHECK_RESULT((status != CL_SUCCESS),
"CopyOpenCLBuffer() failed at clEnqueueNDRangeKernel");
status = clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 1, NULL, globalThreads, NULL, 0,
NULL, 0);
CHECK_RESULT((status != CL_SUCCESS), "CopyOpenCLBuffer() failed at clEnqueueNDRangeKernel");
status = clFinish(cmdQueues_[_deviceId]);
CHECK_RESULT((status != CL_SUCCESS), "CopyOpenCLBuffer() failed at clFinish");
@@ -258,26 +231,22 @@ void OCLBufferFromImage::CompileKernel() {
cl_int status = 0;
size_t kernelSize = sizeof(strKernel);
const char *strs = (const char *)&strKernel[0];
const char* strs = (const char*)&strKernel[0];
program_ = _wrapper->clCreateProgramWithSource(context_, 1, &strs,
&kernelSize, &status);
program_ = _wrapper->clCreateProgramWithSource(context_, 1, &strs, &kernelSize, &status);
status = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL,
NULL, NULL);
status = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL, NULL, NULL);
if (status != CL_SUCCESS) {
if (status == CL_BUILD_PROGRAM_FAILURE) {
cl_int logStatus;
size_t buildLogSize = 0;
logStatus = clGetProgramBuildInfo(program_, devices_[_deviceId],
CL_PROGRAM_BUILD_LOG, buildLogSize,
NULL, &buildLogSize);
logStatus = clGetProgramBuildInfo(program_, devices_[_deviceId], CL_PROGRAM_BUILD_LOG,
buildLogSize, NULL, &buildLogSize);
std::string buildLog;
buildLog.resize(buildLogSize);
logStatus = clGetProgramBuildInfo(program_, devices_[_deviceId],
CL_PROGRAM_BUILD_LOG, buildLogSize,
&buildLog[0], NULL);
logStatus = clGetProgramBuildInfo(program_, devices_[_deviceId], CL_PROGRAM_BUILD_LOG,
buildLogSize, &buildLog[0], NULL);
printf("%s", buildLog.c_str());
}
return;
@@ -286,9 +255,8 @@ void OCLBufferFromImage::CompileKernel() {
kernel_ = _wrapper->clCreateKernel(program_, "buffer2bufferCopy", &status);
size_t kernel2DWorkGroupSize = 0;
status = clGetKernelWorkGroupInfo(kernel_, devices_[_deviceId],
CL_KERNEL_WORK_GROUP_SIZE, sizeof(size_t),
&kernel2DWorkGroupSize, 0);
status = clGetKernelWorkGroupInfo(kernel_, devices_[_deviceId], CL_KERNEL_WORK_GROUP_SIZE,
sizeof(size_t), &kernel2DWorkGroupSize, 0);
if ((blockSizeX * blockSizeY) > kernel2DWorkGroupSize) {
if (blockSizeX > kernel2DWorkGroupSize) {