utests: should set pitch to zero if host_ptr is NULL.
authorZhigang Gong <zhigang.gong@linux.intel.com>
Fri, 19 Apr 2013 08:31:09 +0000 (16:31 +0800)
committerZhigang Gong <zhigang.gong@linux.intel.com>
Mon, 22 Apr 2013 09:42:42 +0000 (17:42 +0800)
Per OCL spec, we should set pitch to zero if the host_ptr is
NULL.

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Simon Richter <Simon.Richter@hogyros.de>

utests/compiler_copy_image.cpp
utests/compiler_fill_image.cpp
utests/compiler_fill_image0.cpp
utests/compiler_movforphi_undef.cpp

index 685a189..04c9544 100644 (file)
@@ -21,8 +21,9 @@ static void compiler_copy_image(void)
   desc.image_width = w;
   desc.image_height = h;
   desc.image_row_pitch = w * sizeof(uint32_t);
-
   OCL_CREATE_IMAGE(buf[0], CL_MEM_COPY_HOST_PTR, &format, &desc, buf_data[0]);
+
+  desc.image_row_pitch = 0;
   OCL_CREATE_IMAGE(buf[1], 0, &format, &desc, NULL);
   OCL_CREATE_SAMPLER(sampler, CL_ADDRESS_REPEAT, CL_FILTER_NEAREST);
   free(buf_data[0]);
index c9744cc..c9242b2 100644 (file)
@@ -13,7 +13,7 @@ static void compiler_fill_image(void)
   desc.image_type = CL_MEM_OBJECT_IMAGE2D;
   desc.image_width = w;
   desc.image_height = h;
-  desc.image_row_pitch = w * sizeof(uint32_t);
+  desc.image_row_pitch = 0;
 
   // Setup kernel and images
   OCL_CREATE_KERNEL("test_fill_image");
index 2fef90c..cf76be3 100644 (file)
@@ -12,7 +12,7 @@ static void compiler_fill_image0(void)
   desc.image_type = CL_MEM_OBJECT_IMAGE2D;
   desc.image_width = w;
   desc.image_height = h;
-  desc.image_row_pitch = w * sizeof(uint32_t);
+  desc.image_row_pitch = 0;
 
 
   // Setup kernel and images
index 19e395f..30e53bb 100644 (file)
@@ -8,13 +8,6 @@ static void compiler_movforphi_undef(void)
   cl_image_format format;
   cl_image_desc desc;
 
-  format.image_channel_order = CL_RGBA;
-  format.image_channel_data_type = CL_UNSIGNED_INT8;
-  desc.image_type = CL_MEM_OBJECT_IMAGE2D;
-  desc.image_width = w;
-  desc.image_height = h;
-  desc.image_row_pitch = w * sizeof(uint32_t);
-
   // Setup kernel and images
   OCL_CREATE_KERNEL("test_movforphi_undef");
   buf_data[0] = (uint32_t*) malloc(sizeof(uint32_t) * w * h);
@@ -22,7 +15,15 @@ static void compiler_movforphi_undef(void)
     for (uint32_t i = 0; i < w; i++)
       ((uint32_t*)buf_data[0])[j * w + i] = j * w + i;
 
+  format.image_channel_order = CL_RGBA;
+  format.image_channel_data_type = CL_UNSIGNED_INT8;
+  desc.image_type = CL_MEM_OBJECT_IMAGE2D;
+  desc.image_width = w;
+  desc.image_height = h;
+  desc.image_row_pitch = w * sizeof(uint32_t);
   OCL_CREATE_IMAGE(buf[0], CL_MEM_COPY_HOST_PTR, &format, &desc, buf_data[0]);
+
+  desc.image_row_pitch = 0;
   OCL_CREATE_IMAGE(buf[1], 0, &format, &desc, NULL);
   OCL_CREATE_SAMPLER(sampler, CL_ADDRESS_REPEAT, CL_FILTER_NEAREST);
   free(buf_data[0]);