From abea311744139224715273c9ca771d350357c037 Mon Sep 17 00:00:00 2001 From: Sreelakshmi Haridas Maruthur Date: Mon, 12 Aug 2024 16:30:48 -0600 Subject: [PATCH] cl_fill_image: Use CL_DEVICE_VERSION for version check CL_DEVICE_NUMERIC_VERSION is only available from OpenCL 3.0 Use CL_DEVICE_VERSION instead. --- test_common/harness/testHarness.h | 2 ++ .../images/clFillImage/test_fill_generic.cpp | 17 ++++------------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/test_common/harness/testHarness.h b/test_common/harness/testHarness.h index b266db80f4..9e3800f669 100644 --- a/test_common/harness/testHarness.h +++ b/test_common/harness/testHarness.h @@ -26,6 +26,8 @@ class Version { public: Version(): m_major(0), m_minor(0) {} Version(int major, int minor): m_major(major), m_minor(minor) {} + int major() const { return m_major; } + int minor() const { return m_minor; } bool operator>(const Version &rhs) const { return to_int() > rhs.to_int(); } bool operator<(const Version &rhs) const { return to_int() < rhs.to_int(); } bool operator<=(const Version &rhs) const diff --git a/test_conformance/images/clFillImage/test_fill_generic.cpp b/test_conformance/images/clFillImage/test_fill_generic.cpp index ca9a1bfa3a..92486a5356 100644 --- a/test_conformance/images/clFillImage/test_fill_generic.cpp +++ b/test_conformance/images/clFillImage/test_fill_generic.cpp @@ -14,7 +14,6 @@ // limitations under the License. // #include "../testBase.h" - extern void read_image_pixel_float( void *imageData, image_descriptor *imageInfo, int x, int y, int z, float *outData ); struct pitch_buffer_data @@ -55,9 +54,8 @@ cl_mem create_image( cl_context context, cl_command_queue queue, BufferOwningPtr imageDesc.image_array_size = imageInfo->arraySize; imageDesc.image_row_pitch = gEnablePitch ? imageInfo->rowPitch : 0; imageDesc.image_slice_pitch = gEnablePitch ? imageInfo->slicePitch : 0; - - cl_version version; cl_device_id device; + Version version; { cl_int err = clGetCommandQueueInfo(queue, CL_QUEUE_DEVICE, sizeof(device), &device, nullptr); @@ -66,14 +64,7 @@ cl_mem create_image( cl_context context, cl_command_queue queue, BufferOwningPtr log_error("Error: Could not get CL_QUEUE_DEVICE from queue"); return NULL; } - err = clGetDeviceInfo(device, CL_DEVICE_NUMERIC_VERSION, - sizeof(version), &version, nullptr); - if (err != CL_SUCCESS) - { - log_error("Error: Could not get CL_DEVICE_NUMERIC_VERSION from " - "device"); - return NULL; - } + version = get_device_cl_version(device); } switch (imageInfo->type) @@ -117,7 +108,7 @@ cl_mem create_image( cl_context context, cl_command_queue queue, BufferOwningPtr cl_mem_flags buffer_flags = CL_MEM_READ_WRITE; if (gEnablePitch) { - if (CL_VERSION_MAJOR(version) == 1) + if (version.major() == 1) { host_ptr = malloc(imageInfo->rowPitch); } @@ -183,7 +174,7 @@ cl_mem create_image( cl_context context, cl_command_queue queue, BufferOwningPtr struct pitch_buffer_data *data = (struct pitch_buffer_data *)malloc( sizeof(struct pitch_buffer_data)); data->buf = host_ptr; - data->is_aligned = (CL_VERSION_MAJOR(version) != 1) + data->is_aligned = (version.major() != 1) && (imageInfo->type == CL_MEM_OBJECT_IMAGE1D_BUFFER); if (*error == CL_SUCCESS) {