SWDEV-470698 - fix formatting, add format check workflow (#657)
This commit is contained in:
committed by
GitHub
parent
5840940caa
commit
f7338717ae
@@ -35,7 +35,7 @@
|
||||
const static size_t imageSize = 4;
|
||||
const static size_t MaxSubTests = 4;
|
||||
|
||||
static const char *rgba8888_kernel_read =
|
||||
static const char* rgba8888_kernel_read =
|
||||
"\n"
|
||||
"__kernel void read_rgba8888(read_only image2d_t srcimg, __global uchar4 "
|
||||
"*dst, sampler_t sampler)\n"
|
||||
@@ -50,7 +50,7 @@ static const char *rgba8888_kernel_read =
|
||||
"\n"
|
||||
"}\n";
|
||||
|
||||
static const char *rgba8888_kernel_write =
|
||||
static const char* rgba8888_kernel_write =
|
||||
"\n"
|
||||
"__kernel void write_rgba8888(__global unsigned char *src, write_only "
|
||||
"image2d_t dstimg)\n"
|
||||
@@ -78,9 +78,8 @@ OCLReadWriteImage::OCLReadWriteImage() {
|
||||
|
||||
OCLReadWriteImage::~OCLReadWriteImage() {}
|
||||
|
||||
bool OCLReadWriteImage::verifyImageData(unsigned char *inputImageData,
|
||||
unsigned char *output, size_t width,
|
||||
size_t height) {
|
||||
bool OCLReadWriteImage::verifyImageData(unsigned char* inputImageData, unsigned char* output,
|
||||
size_t width, size_t height) {
|
||||
for (unsigned int i = 0; i < 4 * width * height; i++) {
|
||||
if (output[i] != inputImageData[i]) {
|
||||
printf(
|
||||
@@ -92,7 +91,7 @@ bool OCLReadWriteImage::verifyImageData(unsigned char *inputImageData,
|
||||
}
|
||||
return true;
|
||||
}
|
||||
void OCLReadWriteImage::open(unsigned int test, char *units, double &conversion,
|
||||
void OCLReadWriteImage::open(unsigned int test, char* units, double& conversion,
|
||||
unsigned int deviceId) {
|
||||
OCLTestImp::open(test, units, conversion, deviceId);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "Error opening test");
|
||||
@@ -101,8 +100,8 @@ void OCLReadWriteImage::open(unsigned int test, char *units, double &conversion,
|
||||
cl_bool imageSupport;
|
||||
size_t size;
|
||||
for (size_t i = 0; i < deviceCount_; ++i) {
|
||||
_wrapper->clGetDeviceInfo(devices_[i], CL_DEVICE_IMAGE_SUPPORT,
|
||||
sizeof(imageSupport), &imageSupport, &size);
|
||||
_wrapper->clGetDeviceInfo(devices_[i], CL_DEVICE_IMAGE_SUPPORT, sizeof(imageSupport),
|
||||
&imageSupport, &size);
|
||||
if (!imageSupport) {
|
||||
testDescString = "Image not supported, skipping this test! ";
|
||||
done_ = true;
|
||||
@@ -111,17 +110,15 @@ void OCLReadWriteImage::open(unsigned int test, char *units, double &conversion,
|
||||
}
|
||||
|
||||
if (test == 1) {
|
||||
program_ = _wrapper->clCreateProgramWithSource(
|
||||
context_, 1, &rgba8888_kernel_read, NULL, &error_);
|
||||
program_ =
|
||||
_wrapper->clCreateProgramWithSource(context_, 1, &rgba8888_kernel_read, NULL, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateProgramWithSource() failed");
|
||||
|
||||
error_ = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL,
|
||||
NULL, NULL);
|
||||
error_ = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL, NULL, NULL);
|
||||
if (error_ != CL_SUCCESS) {
|
||||
char programLog[1024];
|
||||
_wrapper->clGetProgramBuildInfo(program_, devices_[_deviceId],
|
||||
CL_PROGRAM_BUILD_LOG, 1024, programLog,
|
||||
0);
|
||||
_wrapper->clGetProgramBuildInfo(program_, devices_[_deviceId], CL_PROGRAM_BUILD_LOG, 1024,
|
||||
programLog, 0);
|
||||
printf("\n%s\n", programLog);
|
||||
fflush(stdout);
|
||||
}
|
||||
@@ -130,17 +127,15 @@ void OCLReadWriteImage::open(unsigned int test, char *units, double &conversion,
|
||||
kernel_ = _wrapper->clCreateKernel(program_, "read_rgba8888", &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateKernel() failed");
|
||||
} else if ((test == 2) || (test == 3)) {
|
||||
program_ = _wrapper->clCreateProgramWithSource(
|
||||
context_, 1, &rgba8888_kernel_write, NULL, &error_);
|
||||
program_ =
|
||||
_wrapper->clCreateProgramWithSource(context_, 1, &rgba8888_kernel_write, NULL, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateProgramWithSource() failed");
|
||||
|
||||
error_ = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL,
|
||||
NULL, NULL);
|
||||
error_ = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL, NULL, NULL);
|
||||
if (error_ != CL_SUCCESS) {
|
||||
char programLog[1024];
|
||||
_wrapper->clGetProgramBuildInfo(program_, devices_[_deviceId],
|
||||
CL_PROGRAM_BUILD_LOG, 1024, programLog,
|
||||
0);
|
||||
_wrapper->clGetProgramBuildInfo(program_, devices_[_deviceId], CL_PROGRAM_BUILD_LOG, 1024,
|
||||
programLog, 0);
|
||||
printf("\n%s\n", programLog);
|
||||
fflush(stdout);
|
||||
}
|
||||
@@ -156,23 +151,21 @@ void OCLReadWriteImage::open(unsigned int test, char *units, double &conversion,
|
||||
imgageFormat.image_channel_data_type = CL_UNORM_INT8;
|
||||
bufferSize = imageWidth * imageHeight * 4 * sizeof(unsigned char);
|
||||
|
||||
memory = _wrapper->clCreateImage2D(context_, CL_MEM_READ_WRITE, &imgageFormat,
|
||||
imageWidth, imageHeight, 0, NULL, &error_);
|
||||
memory = _wrapper->clCreateImage2D(context_, CL_MEM_READ_WRITE, &imgageFormat, imageWidth,
|
||||
imageHeight, 0, NULL, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateImage() failed");
|
||||
|
||||
buffers_.push_back(memory);
|
||||
|
||||
if ((test == 1) || (test == 2) || (test == 3)) {
|
||||
memory = _wrapper->clCreateBuffer(context_, CL_MEM_READ_WRITE, bufferSize,
|
||||
NULL, &error_);
|
||||
memory = _wrapper->clCreateBuffer(context_, CL_MEM_READ_WRITE, bufferSize, NULL, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateBuffer() failed");
|
||||
buffers_.push_back(memory);
|
||||
}
|
||||
}
|
||||
|
||||
static void CL_CALLBACK notify_callback(const char *errinfo,
|
||||
const void *private_info, size_t cb,
|
||||
void *user_data) {}
|
||||
static void CL_CALLBACK notify_callback(const char* errinfo, const void* private_info, size_t cb,
|
||||
void* user_data) {}
|
||||
|
||||
void OCLReadWriteImage::run(void) {
|
||||
if (done_) {
|
||||
@@ -185,7 +178,7 @@ void OCLReadWriteImage::run(void) {
|
||||
{0xc5f3d073, 0xc0af4ffe, 0xb1d86352, 0x93931df3},
|
||||
{0xc120a78e, 0x207fb909, 0x97f4ca1f, 0x72cbfea3}};
|
||||
|
||||
unsigned char *outputPtr = (unsigned char *)malloc(bufferSize);
|
||||
unsigned char* outputPtr = (unsigned char*)malloc(bufferSize);
|
||||
|
||||
size_t origin[3] = {0, 0, 0};
|
||||
size_t region[3] = {imageWidth, imageHeight, 1};
|
||||
@@ -194,39 +187,33 @@ void OCLReadWriteImage::run(void) {
|
||||
|
||||
switch (testID_) {
|
||||
case 0: // ImageWrite (w/ sDMA) and ImageRead (w/ sDMA)
|
||||
error_ = _wrapper->clEnqueueWriteImage(cmdQueues_[_deviceId], buffers_[0],
|
||||
true, origin, region, 0, 0,
|
||||
inputImageData, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueWriteImage(cmdQueues_[_deviceId], buffers_[0], true, origin,
|
||||
region, 0, 0, inputImageData, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueWriteImage() failed");
|
||||
|
||||
error_ = _wrapper->clEnqueueReadImage(cmdQueues_[_deviceId], buffers_[0],
|
||||
true, origin, region, 0, 0,
|
||||
outputPtr, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueReadImage(cmdQueues_[_deviceId], buffers_[0], true, origin,
|
||||
region, 0, 0, outputPtr, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueReadImage() failed");
|
||||
|
||||
validation = verifyImageData((unsigned char *)&inputImageData, outputPtr,
|
||||
imageWidth, imageHeight);
|
||||
validation =
|
||||
verifyImageData((unsigned char*)&inputImageData, outputPtr, imageWidth, imageHeight);
|
||||
if (validation) {
|
||||
printf("ImageWrite (w/ sDMA) -> ImageRead (w/ sDMA) passed!\n");
|
||||
} else {
|
||||
CHECK_RESULT(true,
|
||||
"ImageWrite (w/ sDMA) -> ImageRead (w/ sDMA) failed!\n");
|
||||
CHECK_RESULT(true, "ImageWrite (w/ sDMA) -> ImageRead (w/ sDMA) failed!\n");
|
||||
}
|
||||
break;
|
||||
case 1: // ImageWrite (w/ sDMA) and ImageRead (w/ kernel)
|
||||
error_ = _wrapper->clEnqueueWriteImage(cmdQueues_[_deviceId], buffers_[0],
|
||||
true, origin, region, 0, 0,
|
||||
inputImageData, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueWriteImage(cmdQueues_[_deviceId], buffers_[0], true, origin,
|
||||
region, 0, 0, inputImageData, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueWriteImage() failed");
|
||||
|
||||
cl_sampler sampler;
|
||||
sampler = _wrapper->clCreateSampler(context_, CL_FALSE,
|
||||
CL_ADDRESS_CLAMP_TO_EDGE,
|
||||
sampler = _wrapper->clCreateSampler(context_, CL_FALSE, CL_ADDRESS_CLAMP_TO_EDGE,
|
||||
CL_FILTER_NEAREST, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateSampler failed");
|
||||
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[0],
|
||||
&buffers_[0]);
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[0], &buffers_[0]);
|
||||
error_ |= clSetKernelArg(kernel_, 1, sizeof buffers_[1], &buffers_[1]);
|
||||
error_ |= clSetKernelArg(kernel_, 2, sizeof sampler, &sampler);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clSetKernelArg failed\n");
|
||||
@@ -234,91 +221,77 @@ void OCLReadWriteImage::run(void) {
|
||||
threads[0] = (unsigned int)imageWidth;
|
||||
threads[1] = (unsigned int)imageHeight;
|
||||
|
||||
error_ =
|
||||
_wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2,
|
||||
NULL, threads, NULL, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2, NULL, threads,
|
||||
NULL, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueNDRangeKernel() failed");
|
||||
|
||||
error_ = _wrapper->clEnqueueReadBuffer(cmdQueues_[_deviceId], buffers_[1],
|
||||
CL_TRUE, 0, bufferSize, outputPtr,
|
||||
0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueReadBuffer(cmdQueues_[_deviceId], buffers_[1], CL_TRUE, 0,
|
||||
bufferSize, outputPtr, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueReadBuffer() failed");
|
||||
|
||||
validation = verifyImageData((unsigned char *)&inputImageData, outputPtr,
|
||||
imageWidth, imageHeight);
|
||||
validation =
|
||||
verifyImageData((unsigned char*)&inputImageData, outputPtr, imageWidth, imageHeight);
|
||||
if (validation) {
|
||||
printf("ImageWrite (w/ sDMA) -> ImageRead (w/ kernel) passed!\n");
|
||||
} else {
|
||||
CHECK_RESULT(true,
|
||||
"ImageWrite (w/ sDMA) -> ImageRead (w/ kernel) failed!\n");
|
||||
CHECK_RESULT(true, "ImageWrite (w/ sDMA) -> ImageRead (w/ kernel) failed!\n");
|
||||
}
|
||||
|
||||
break;
|
||||
case 2: // ImageWrite (w/ kernel) and ImageRead (w/ sDMA)
|
||||
error_ = _wrapper->clEnqueueWriteBuffer(
|
||||
cmdQueues_[_deviceId], buffers_[1], CL_TRUE, 0, bufferSize,
|
||||
inputImageData, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueWriteBuffer(cmdQueues_[_deviceId], buffers_[1], CL_TRUE, 0,
|
||||
bufferSize, inputImageData, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueWriteBuffer() failed");
|
||||
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[1],
|
||||
&buffers_[1]);
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[1], &buffers_[1]);
|
||||
error_ |= clSetKernelArg(kernel_, 1, sizeof buffers_[0], &buffers_[0]);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clSetKernelArg failed\n");
|
||||
|
||||
threads[0] = (unsigned int)imageWidth;
|
||||
threads[1] = (unsigned int)imageHeight;
|
||||
|
||||
error_ =
|
||||
_wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2,
|
||||
NULL, threads, NULL, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2, NULL, threads,
|
||||
NULL, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueNDRangeKernel() failed");
|
||||
|
||||
error_ = _wrapper->clEnqueueReadImage(cmdQueues_[_deviceId], buffers_[0],
|
||||
true, origin, region, 0, 0,
|
||||
outputPtr, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueReadImage(cmdQueues_[_deviceId], buffers_[0], true, origin,
|
||||
region, 0, 0, outputPtr, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueReadImage() failed");
|
||||
|
||||
validation = verifyImageData((unsigned char *)&inputImageData, outputPtr,
|
||||
imageWidth, imageHeight);
|
||||
validation =
|
||||
verifyImageData((unsigned char*)&inputImageData, outputPtr, imageWidth, imageHeight);
|
||||
if (validation) {
|
||||
printf("ImageWrite (w/ kernel) -> ImageRead (w/ sDMA) passed!\n");
|
||||
} else {
|
||||
CHECK_RESULT(true,
|
||||
"ImageWrite (w/ kernel) -> ImageRead (w/ sDMA) failed!\n");
|
||||
CHECK_RESULT(true, "ImageWrite (w/ kernel) -> ImageRead (w/ sDMA) failed!\n");
|
||||
}
|
||||
break;
|
||||
case 3: // ImageWrite (w/ kernel) and ImageRead (w/ kernel)
|
||||
error_ = _wrapper->clEnqueueWriteBuffer(
|
||||
cmdQueues_[_deviceId], buffers_[1], CL_TRUE, 0, bufferSize,
|
||||
inputImageData, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueWriteBuffer(cmdQueues_[_deviceId], buffers_[1], CL_TRUE, 0,
|
||||
bufferSize, inputImageData, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueWriteBuffer() failed");
|
||||
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[1],
|
||||
&buffers_[1]);
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[1], &buffers_[1]);
|
||||
error_ |= clSetKernelArg(kernel_, 1, sizeof buffers_[0], &buffers_[0]);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clSetKernelArg failed\n");
|
||||
|
||||
threads[0] = (unsigned int)imageWidth;
|
||||
threads[1] = (unsigned int)imageHeight;
|
||||
|
||||
error_ =
|
||||
_wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2,
|
||||
NULL, threads, NULL, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2, NULL, threads,
|
||||
NULL, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueNDRangeKernel() failed");
|
||||
|
||||
// recreate the program_ to use the read kernel
|
||||
program_ = _wrapper->clCreateProgramWithSource(
|
||||
context_, 1, &rgba8888_kernel_read, NULL, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS),
|
||||
"clCreateProgramWithSource() failed");
|
||||
program_ =
|
||||
_wrapper->clCreateProgramWithSource(context_, 1, &rgba8888_kernel_read, NULL, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateProgramWithSource() failed");
|
||||
|
||||
error_ = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL,
|
||||
NULL, NULL);
|
||||
error_ = _wrapper->clBuildProgram(program_, 1, &devices_[_deviceId], NULL, NULL, NULL);
|
||||
if (error_ != CL_SUCCESS) {
|
||||
char programLog[1024];
|
||||
_wrapper->clGetProgramBuildInfo(program_, devices_[_deviceId],
|
||||
CL_PROGRAM_BUILD_LOG, 1024, programLog,
|
||||
0);
|
||||
_wrapper->clGetProgramBuildInfo(program_, devices_[_deviceId], CL_PROGRAM_BUILD_LOG, 1024,
|
||||
programLog, 0);
|
||||
printf("\n%s\n", programLog);
|
||||
fflush(stdout);
|
||||
}
|
||||
@@ -327,13 +300,11 @@ void OCLReadWriteImage::run(void) {
|
||||
kernel_ = _wrapper->clCreateKernel(program_, "read_rgba8888", &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateKernel() failed");
|
||||
|
||||
sampler = _wrapper->clCreateSampler(context_, CL_FALSE,
|
||||
CL_ADDRESS_CLAMP_TO_EDGE,
|
||||
sampler = _wrapper->clCreateSampler(context_, CL_FALSE, CL_ADDRESS_CLAMP_TO_EDGE,
|
||||
CL_FILTER_NEAREST, &error_);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clCreateSampler failed");
|
||||
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[0],
|
||||
&buffers_[0]);
|
||||
error_ = _wrapper->clSetKernelArg(kernel_, 0, sizeof buffers_[0], &buffers_[0]);
|
||||
error_ |= clSetKernelArg(kernel_, 1, sizeof buffers_[1], &buffers_[1]);
|
||||
error_ |= clSetKernelArg(kernel_, 2, sizeof sampler, &sampler);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clSetKernelArg failed\n");
|
||||
@@ -341,23 +312,20 @@ void OCLReadWriteImage::run(void) {
|
||||
threads[0] = (unsigned int)imageWidth;
|
||||
threads[1] = (unsigned int)imageHeight;
|
||||
|
||||
error_ =
|
||||
_wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2,
|
||||
NULL, threads, NULL, 0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueNDRangeKernel(cmdQueues_[_deviceId], kernel_, 2, NULL, threads,
|
||||
NULL, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueNDRangeKernel() failed");
|
||||
|
||||
error_ = _wrapper->clEnqueueReadBuffer(cmdQueues_[_deviceId], buffers_[1],
|
||||
CL_TRUE, 0, bufferSize, outputPtr,
|
||||
0, NULL, NULL);
|
||||
error_ = _wrapper->clEnqueueReadBuffer(cmdQueues_[_deviceId], buffers_[1], CL_TRUE, 0,
|
||||
bufferSize, outputPtr, 0, NULL, NULL);
|
||||
CHECK_RESULT((error_ != CL_SUCCESS), "clEnqueueReadBuffer() failed");
|
||||
|
||||
validation = verifyImageData((unsigned char *)&inputImageData, outputPtr,
|
||||
imageWidth, imageHeight);
|
||||
validation =
|
||||
verifyImageData((unsigned char*)&inputImageData, outputPtr, imageWidth, imageHeight);
|
||||
if (validation) {
|
||||
printf("ImageWrite (w/ kernel) -> ImageRead (w/ kernel) passed!\n");
|
||||
} else {
|
||||
CHECK_RESULT(
|
||||
true, "ImageWrite (w/ kernel) -> ImageRead (w/ kernel) failed!\n");
|
||||
CHECK_RESULT(true, "ImageWrite (w/ kernel) -> ImageRead (w/ kernel) failed!\n");
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user